次の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つのステートメントを避けたいです。