INSERT INTO T_ADRESS_1
SELECT * FROM T_ADRESS_2
WHERE
T_ADRESS_2.ADDRESS LIKE '大阪府%'
SELECT * FROM T_ADRESS_2
WHERE
T_ADRESS_2.ADDRESS LIKE '大阪府%'
これは、T_ADRESS_2のADDRESSが「大阪府」で始まるレコードをT_ADRESS_1にコピーするというSQLになります。
しかし、T_ADRESS_1にすでに登録されている情報がある場合、キー重複エラーになったり、不要なレコードが増えてしまいます。
1件ずつチェックしながらデータをチェックしながらコピーすれば確実なんですが、件数が多い場合パフォーマンスが出ません。
で、よく考えてみると、INSERTする前にT_ADRESS_1を同じ条件でDELETEしておけば。。。ということにいまさら気がつきました。。。その他、NOT EXISTを使う方法もありますね。
0 件のコメント:
コメントを投稿