确定批处理过程中的任何错过的更新

时间:2017-04-21 14:55:51

标签: sql-server-2008 tsql

我正在同步两个应用程序以及ERP和CRM。我们有一个使用触发器实时运行的进程和第二个以批处理方式运行的方法。当我运行批处理时,我需要在批处理没有运行的情况下检查是否有任何错过的记录。我有时使用过程是/否列。但需要一种方法来确定如何检查插入完成,然后将处理列设置为yes。它必须类似于insert完成然后将处理列设置为Y.并且最好是使用游标并一次一个插入或运行批处理表的insert语句?

SET IDENTITY_INSERT CONTACTS ON
INSERT INTO CONTACTS
                         (CODE, ID, CODE_ID, FIRSTNAME, MIDDLENAME, LASTNAME, ADDR, DECEASED_FLAG, CREATEDATE, CREATETIME, IDSeq)
SELECT        CC.CODE, CC.ID, CC.CODE_ID, CC.FIRSTNAME, CC.MIDDLENAME, CC.LASTNAME, CC.CREATE_DATE, CC.CREATE_TIME, CC.IDSeq
FROM            CONTACTSCHANGES AS CC INNER JOIN
                         CONTACTS AS C ON CC.ID = C.ID
SET IDENTITY_INSERT CONTACTS OFF


UPDATE       CONTACTSCHANGES
SET                Processed = N'Y'  

0 个答案:

没有答案