Remarque
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
Une base de données peut avoir besoin d’effectuer une insertion d’une mise à jour, selon qu’une ligne particulière existe déjà dans la base de données.
Sans utiliser l’instruction MERGE , voici une approche que vous pouvez utiliser dans Transact-SQL :
UPDATE mytable SET col=@somevalue WHERE myPK = @parm
IF @@ROWCOUNT = 0
INSERT mytable (columns) VALUES (@parm, @other values)
Une autre méthode Transact-SQL pour implémenter une fusion :
IF EXISTS (SELECT 1 FROM mytable WHERE myPK = @parm)
UPDATE....
ELSE
INSERT
Pour une procédure stockée compilée en mode natif
DECLARE @i int = 0 -- or whatever your PK data type is
UPDATE mytable SET @i=myPK, othercolums = other values WHERE myPK = @parm
IF @i = 0
INSERT....
Voir aussi
Problèmes de migration pour les procédures stockées compilées en mode natif
Constructions Transact-SQL non prises en charge par In-Memory OLTP