小编Vik*_*ram的帖子

消息8672,级别16,状态1,行1 MERGE语句尝试多次更新或删除同一行

我试图执行更新/插入...我得到错误:(消息8672,级别16,状态1,行1)MERGE语句尝试多次更新或删除同一行.当目标行匹配时会发生这种情况MERGE语句不能多次UPDATE/DELETE目标表的同一行.优化ON子句以确保目标行最多匹配一个源行,或使用GROUP BY子句对源行进行分组.)

Merge into Rows as R
USING (select RowNo,DOB,Pin,State,RowType,RowStatus from Temp_info) as tmp
ON R.Rownumber=tmp.Rowno
WHEN MATCHED THEN 
UPDATE 
    SET R.DOB=tmp.DOB,
    R.Pin=tmp.Pin,
    R.State=tmp.State,
    R.RowType=tmp.RowType,
    R.RowStatus=tmp.RowStatus,
    R.deleted='N',
    R.last_modified=getdate()
WHEN NOT MATCHED THEN 
INSERT (RowNumber,DOB,Pin,State,RowType,RowStatus,deleted,last_modified)
values (tmp.RowNo,tmp.DOB,tmp.Pin,tmp.State,tmp.RowType,tmp.RowStatus,'N',GETDATE());
Run Code Online (Sandbox Code Playgroud)

sql t-sql sql-server merge sql-server-2008

5
推荐指数
1
解决办法
6981
查看次数

标签 统计

merge ×1

sql ×1

sql-server ×1

sql-server-2008 ×1

t-sql ×1