Compartilhar via


Implementando a funcionalidade MERGE

Um banco de dados pode precisar executar uma inserção ou uma atualização, dependendo de se uma linha específica já existe no banco de dados.

Sem usar a MERGE instrução, 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 compilado nativamente

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çõesTransact-SQL não suportadas por In-Memory OLTP