我试图用新值更新37k记录,但在此之前,我试图输入审计跟踪记录以记录以前的值。我碰到的是Update命令,即使在INSERT INTO命令之后,INSERT INTO命令的“Previous Value”也会显示新值。看起来,更新命令正在被首先处理。我的更新语句正在处理前之前所述INSERT INTO
WHILE @iLP <[email protected]_SD
BEGIN
-- History Change
SET @PrevSettleDate=(SELECT SettleDate FROM Deal WHERE [email protected]_ID)
INSERT INTO History
(ItemKey,LoginID,TimeStamp,HowChanged,FieldChanged,PreviousValue,NewValue,Comment,Created)
VALUES ('CDeal' + CAST(@Deal_ID AS varchar(10)),1,GETDATE(), 'M','SettleDate', ISNULL(@PrevSettleDate,'NULL'), '3/02/2012', 'TSR5691', 0)
-- Record Change
SET @Deal_ID = (SELECT DealID FROM @tblDeal_SD WHERE Row = @iLP)
UPDATE Deal SET SettleDate = '3/02/2012' WHERE [email protected]_ID
SET @[email protected] + 1
END
[编辑] 就意识到,我的SET @Deal_ID声明我的INSERT INTO后下降。
虽然我早先意识到我需要在我的UPDATE之前发布INSERT INTO,但我无法移动所有基于的SET语句。
我的不好。