J'ai les deux tableaux suivants:
Table1
----------
ID   Name
1    A
2    B
3    C
Table2
----------
ID   Name
1    ZJ'ai besoin d'insérer des données de Table1à Table2. Je peux utiliser la syntaxe suivante:
INSERT INTO Table2(Id, Name) SELECT Id, Name FROM Table1Cependant, dans mon cas, des identifiants en double peuvent exister dans Table2(dans mon cas, c'est juste " 1") et je ne veux pas copier à nouveau car cela générerait une erreur.
Je peux écrire quelque chose comme ça:
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<>1Existe-t-il une meilleure façon de faire cela sans utiliser IF - ELSE? Je veux éviter deux INSERT INTO-SELECTdéclarations basées sur une condition.

