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,是的。該示例演示了這一點。 –