2
我目前有一个存储过程,将我的目标表(Ticket_Report)与我的数据源表(New_Tickets)进行比较。SQL MERGE INTO - 如何删除然后插入匹配的/现有的数据?
我正在使用MERGE INTO语句来比较这两个。当它找到两个表之间的匹配时,它会使用源表中的相应信息更新目标表中的当前行。如果它找到了一个匹配项,它会将源表中的数据插入到目标表中。
MERGE INTO Ticket_REPORT T1
USING @New_Tickets T2
ON T1.TICKET_NO=T2.TICKET_NO
WHEN MATCHED THEN
UPDATE SET
T1.TICKET_NO = T2.TICKET_NO,
T1.ASSIGNED_GROUP = T2.ASSIGNED_GROUP,
T1.ASSIGNEE = T2.ASSIGNEE,
T1.FNAME = T2.FNAME,
T1.LNAME = T2.LNAME
WHEN NOT MATCHED THEN
INSERT VALUES(
T2.TICKET_NO,
T2.ASSIGNED_GROUP,
T2.ASSIGNEE,
T2.FNAME,
T2.LNAME
);
我需要做的是,当我找到一个匹配,而不是只更新该行,我需要删除该行,并重新插入到目标表中。任何人都可以告诉我如何同时删除和插入一个接一个找到匹配吗?
我能够捕获OUTPUT中的删除行,然后INTO作为插入语句工作吗? – Reeggiie
@Reeggiie,是的。该示例演示了这一点。 –