次の2つのテーブルがあります。
Table1
----------
ID Name
1 A
2 B
3 C
Table2
----------
ID Name
1 Z
Table1
からにデータを挿入する必要がありTable2
ます。次の構文を使用できます。
INSERT INTO Table2(Id, Name) SELECT Id, Name FROM Table1
ただし、私の場合は、重複するIDが存在する可能性がありTable2
(私の場合は「1
」だけです)、エラーが発生するため、それを再度コピーする必要はありません。
私はこのようなものを書くことができます:
IF NOT EXISTS(SELECT 1 FROM Table2 WHERE Id=1)
INSERT INTO Table2 (Id, name) SELECT Id, name FROM Table1
ELSE
INSERT INTO Table2 (Id, name) SELECT Id, name FROM Table1 WHERE Table1.Id<>1
使用せずにこれを行うためのより良い方法はありIF - ELSE
ますか?INSERT INTO-SELECT
ある条件に基づいて2つのステートメントを避けたい。