我想在主表“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
请帮忙!
解决方法
对于更新,行的原始值将添加到已删除的表中,并且该行的新值将添加到插入的表中.因此,要识别插入,删除和更新,您将执行以下操作
>插入 – 从插入的行中获取未删除的行>删除 – 从已删除的行中获取未插入的行.>更新 – 获取插入和删除的行
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。