Tengo las siguientes dos tablas:
Table1
----------
ID Name
1 A
2 B
3 C
Table2
----------
ID Name
1 Z
Necesito insertar datos de Table1
a Table2
. Puedo usar la siguiente sintaxis:
INSERT INTO Table2(Id, Name) SELECT Id, Name FROM Table1
Sin embargo, en mi caso, pueden existir ID duplicados Table2
(en mi caso, es solo " 1
") y no quiero copiar eso nuevamente, ya que eso arrojaría un error.
Puedo escribir algo como esto:
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
¿Existe una mejor manera de hacer esto sin usar IF - ELSE
? Quiero evitar dos INSERT INTO-SELECT
afirmaciones basadas en alguna condición.