Dans MySQL, si vous spécifiez SUR LA MISE À JOUR DE LA CLÉ DUPLIQUÉE et qu'une ligne est insérée qui entraînerait une valeur en double dans un index UNIQUE ou PRIMARY KEY, une mise à jour de l'ancienne ligne est effectuée. Par exemple, si la colonne a est déclarée comme UNIQUE et contient la valeur 1, les deux instructions suivantes ont un effet identique :
INSERT INTO table (a,b,c) VALUES (1,2,3)
ON DUPLICATE KEY UPDATE c=c+1;
UPDATE table SET c=c+1 WHERE a=1;
Je ne crois pas avoir rencontré une telle chose en T-SQL. Le serveur SQL offre-t-il quelque chose de comparable à la fonction ON DUPLICATE KEY UPDATE de MySQL ?
0 votes
Vous pouvez le simuler avec une procédure stockée. Je n'ai pas le code exact dans ma tête.
0 votes
@Robert Harvey - J'ai toujours effectué une opération en vérifiant si la ligne existe. Si oui, il faut alors effectuer une mise à jour ou insérer une nouvelle ligne. Est-ce que c'est ce que vous pensiez également ?