所以我有以下语句将记录从登台表(dbo.tblImportBCCDataStaging)移动到生产表(dbo.tblImportBCCData),基于在登台表中花费的时间(10分钟),如果作业没有存在于生产表中。到目前为止,insert语句有效,但是如何删除插入的记录呢?
INSERT INTO dbo.tblImportBCCData (JobNo, Zip, Country, Copies, AWB, DelvCode, OPSCode)
SELECT JobNo, Zip, Country, Copies, AWB, DelvCode, OPSCode
FROM dbo.tblImportBCCDataStaging AS t
WHERE (NOT EXISTS
(SELECT JobNo
FROM dbo.tblImportBCCData
WHERE (JobNo = t.JobNo)))
GROUP BY JobNo, Zip, Country, Copies, AWB, DelvCode, OPSCode, DateStamp
HAVING (DATEDIFF(mi, MIN(DateStamp), GETDATE()) > 10);
答案 0 :(得分:0)
这可以使用临时表来完成,但我会使用以下内容。根据您的查询,它显示JobNo
是您的唯一标识符,并且可能有索引。在那种情况下:
Delete T
From dbo.tblImportBCCDataStaging T
Join dbo.tblImportBCCData P On P.JobNo = T.JobNo