Mam następujące dwie tabele:
Table1
----------
ID Name
1 A
2 B
3 C
Table2
----------
ID Name
1 Z
Muszę wstawić dane od Table1do Table2. Mogę użyć następującej składni:
INSERT INTO Table2(Id, Name) SELECT Id, Name FROM Table1
Jednak w moim przypadku zduplikowane identyfikatory mogą istnieć w Table2(w moim przypadku jest to po prostu „ 1”) i nie chcę ich ponownie kopiować, ponieważ spowodowałoby to błąd.
Mogę napisać coś takiego:
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
Czy jest lepszy sposób na zrobienie tego bez używania IF - ELSE? Chcę uniknąć dwóch INSERT INTO-SELECTstwierdzeń opartych na jakimś warunku.

