Ich habe die folgenden zwei Tabellen:
Table1
----------
ID Name
1 A
2 B
3 C
Table2
----------
ID Name
1 Z
Ich muss Daten von Table1bis einfügen Table2. Ich kann die folgende Syntax verwenden:
INSERT INTO Table2(Id, Name) SELECT Id, Name FROM Table1
In meinem Fall sind jedoch möglicherweise doppelte IDs vorhanden Table2(in meinem Fall ist es nur " 1"), und ich möchte diese nicht erneut kopieren, da dies einen Fehler auslösen würde.
Ich kann so etwas schreiben:
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
Gibt es einen besseren Weg, dies ohne Verwendung zu tun IF - ELSE? Ich möchte zwei INSERT INTO-SELECTAussagen vermeiden , die auf einer bestimmten Bedingung beruhen.

