我在 SQL Server 中遇到了删除和更新触发器的问题。
我在许多用于审计更改的表上设置了删除、插入和更新的触发器,它们都工作得非常好,但一直在尝试将一些触发器添加到我以前没有包含在我的跟踪中的表中。
删除触发器的代码是:
CREATE TRIGGER [dbo].[tr_tblSAP_Delete]
ON [dbo].[tblSAP]
AFTER DELETE AS
INSERT INTO
tblSAPAudit (
vchrAction,
vchrUser,
vchrActionDate,
vchrDoor,
vchrSAPCode,
dtmStartDate,
dtmEndDate,
intDoorSAPID
)
SELECT
'Delete',
USER_NAME(),
GETDATE(),
vchrDoor,
vchrSAPCode,
dtmStartDate,
dtmEndDate,
intDoorSAPID
FROM
Deleted
我对三个触发器使用了相同的代码,只是修改了它要插入的字段和表。插入工作正常,但是当我删除一行时,删除和更新给了我错误
更新或删除的行值要么不使行唯一,要么改变多行(2 行)。
在我关闭触发器之前,我会尝试测试任何更新或删除。关于我可能会丢失什么的任何线索?