实现 MERGE 功能
数据库可能需要执行插入或更新,具体取决于数据库中是否已存在特定行。
如果不使用 MERGE
语句,可以在 Transact-SQL 中使用的一种方法如下:
UPDATE mytable SET col=@somevalue WHERE myPK = @parm
IF @@ROWCOUNT = 0
INSERT mytable (columns) VALUES (@parm, @other values)
实现合并的另一种 Transact-SQL 方法:
IF EXISTS (SELECT 1 FROM mytable WHERE myPK = @parm)
UPDATE....
ELSE
INSERT
对于本机编译的存储过程
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....