sql-server – 触发插入,更新,删除
发布时间:2020-12-12 07:44:26 所属栏目:MsSql教程 来源:网络整理
导读:我想在主表“Table1”中进行插入,更新或删除时将行插入到审计表中 – 无论哪个列被更改/插入都无关紧要.我还想在插入,更新或删除时添加I,U或D.对于插入和删除,我正在检查inserted和deleted表中是否存在行.什么是接近更新的最佳方式. 我的插入和删除代码是: C
我想在主表“Table1”中进行插入,更新或删除时将行插入到审计表中 – 无论哪个列被更改/插入都无关紧要.我还想在插入,更新或删除时添加I,U或D.对于插入和删除,我正在检查inserted和deleted表中是否存在行.什么是接近更新的最佳方式.
我的插入和删除代码是: CREATE TRIGGER [dbo].[tr_Table1_InsertUpdate_Table1History_Insert] ON [dbo].[Table1] FOR INSERT,DELETE,UPDATE AS BEGIN IF EXISTS(SELECT * FROM Inserted) BEGIN INSERT INTO Table1History(....,ModificationType) SELECT ...,'I' FROM Inserted END IF EXISTS(SELECT * FROM Deleted) BEGIN INSERT INTO Table1History(...,'D' FROM Deleted END END GO 请帮忙! 解决方法对于更新,行的原始值将添加到已删除的表中,并且该行的新值将添加到插入的表中.因此,要识别插入,删除和更新,您将执行以下操作>插入 – 从插入的行中获取未删除的行>删除 – 从已删除的行中获取未插入的行.>更新 – 获取插入和删除的行 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |