Я пытаюсь выполнить обновление / вставку ... я получаю сообщение об ошибке: (сообщение 8672, уровень 16, состояние 1, строка 1
Инструкция MERGE пыталась ОБНОВИТЬ или УДАЛИТЬ одну и ту же строку более одного раза. Это происходит, когда целевая строка соответствует более чем одной исходной строке. Оператор MERGE не может ОБНОВИТЬ / УДАЛИТЬ одну и ту же строку целевой таблицы несколько раз. Уточните предложение 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());