Implementar la funcionalidad MERGE
Una base de datos puede necesitar realizar una inserción o una actualización, dependiendo de si una fila determinada ya existe en la base de datos.
Sin usar la MERGE
instrucción , el siguiente es un enfoque que puede usar en Transact-SQL:
UPDATE mytable SET col=@somevalue WHERE myPK = @parm
IF @@ROWCOUNT = 0
INSERT mytable (columns) VALUES (@parm, @other values)
Otro método de Transact-SQL para implementar una combinación:
IF EXISTS (SELECT 1 FROM mytable WHERE myPK = @parm)
UPDATE....
ELSE
INSERT
Para un procedimiento almacenado compilado de forma nativa:
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....
Consulte también
Problemas de migración para los procedimientos almacenados compilados de forma nativa
Construcciones de Transact-SQL no admitidas en In-Memory OLTP.