私は現在、Oracle DBの1つのテーブルから別のテーブルにデータを移行するための準備として、1000を超える更新ステートメントを実行しようとしています。SQLで1000を超えるレコードを更新中
私は「(例:下)現在更新して、個々の更新文を出力します列に影響を受けるであろうすべてのレコードをループし、スクリプト...
UPDATE F_ASSET SET ZONE = 'Green/EHNET' WHERE ID = 3;
UPDATE F_ASSET SET ZONE = 'Green/EHNET' WHERE ID = 1319;
UPDATE F_ASSET SET ZONE = 'Green/EHNET' WHERE ID = 1324;
UPDATE F_ASSET SET ZONE = 'Green/EHNET' WHERE ID = 1329;
UPDATE F_ASSET SET ZONE = 'Yellow/IDMZ' WHERE ID = 1332;
UPDATE F_ASSET SET ZONE = 'Green/EHNET' WHERE ID = 1333;
UPDATE F_ASSET SET ZONE = 'Green/EHNET' WHERE ID = 1344;
UPDATE F_ASSET SET ZONE = 'Green/EHNET' WHERE ID = 1359;
UPDATE F_ASSET SET ZONE = 'Green/EHNET' WHERE ID = 1361;
....
を持っていますこれらの更新ステートメント(または全く別のいくつかのメソッド)をすべて実行する最良の方法を見つけようとすると、パフォーマンスを低下させたり、一連のステートメントをグループ化してまとめたりする必要がありません。
ご協力いただきますようお願い申し上げます。
テーブルに挿入し、内部結合を更新しますか? –
パフォーマンスのためにソリューションをより複雑にしないでください。 1kのアップデートでは、最初の問題ではありません。テーブルはIDでインデックス付けされている限り、スクリプトは非常に速く実行されます。 –
私は私がpl/sqlにコピーして実行する1000個の更新ステートメントを生成するために作成されたスクリプトに従っているかどうかはわかりません。私はテスト環境で200を実行しようとしましたが、初期化には5分かかりました。 – msleone