Implementando a funcionalidade MERGE
Um banco de dados pode precisar executar uma inserção ou uma atualização, dependendo de uma linha específica já existir no banco de dados.
Sem usar a instrução MERGE
, a seguinte é uma abordagem que você pode usar no Transact-SQL:
UPDATE mytable SET col=@somevalue WHERE myPK = @parm
IF @@ROWCOUNT = 0
INSERT mytable (columns) VALUES (@parm, @other values)
Outro método Transact-SQL para implementar uma mesclagem:
IF EXISTS (SELECT 1 FROM mytable WHERE myPK = @parm)
UPDATE....
ELSE
INSERT
Para um procedimento armazenado nativamente compilado
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 Também
Problemas de migração para procedimentos armazenados compilados nativamente
Construções do Transact-SQL sem suporte pelo OLTP na memória