Aşağıdaki iki tablom var:
Table1
----------
ID Name
1 A
2 B
3 C
Table2
----------
ID Name
1 Z
İle arasında veri eklemem Table1gerekiyor Table2. Aşağıdaki sözdizimini kullanabilirim:
INSERT INTO Table2(Id, Name) SELECT Id, Name FROM Table1
Bununla birlikte, benim durumumda, içinde yinelenen kimlikler olabilir Table2(benim durumumda, sadece " 1") ve bir hata oluşturacağı için bunu tekrar kopyalamak istemiyorum.
Bunun gibi bir şey yazabilirim:
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
Bunu kullanmadan yapmanın daha iyi bir yolu var mı IF - ELSE? Bir INSERT INTO-SELECTkoşula bağlı olarak iki ifadeden kaçınmak istiyorum .

