在Sql中插入到语句后删除记录

时间:2016-05-19 17:14:03

标签: sql sql-server sql-server-2008

所以我有以下语句将记录从登台表(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);

1 个答案:

答案 0 :(得分:0)

这可以使用临时表来完成,但我会使用以下内容。根据您的查询,它显示JobNo是您的唯一标识符,并且可能有索引。在那种情况下:

Delete T
From dbo.tblImportBCCDataStaging T
Join dbo.tblImportBCCData P On P.JobNo = T.JobNo