我的数据库中有两个表 . 这可以在以后增加 . 我想添加另一个表Audit来跟踪对现有两个表的更改 . 我想跟踪对这些表中的任何一个所做的任何更改AUdit表结构是
ID
TABLE_NAME
FIELD_NAME
OLD_VALUE
NEW_VALUE
Modified_By
Date_of_Modification
所以现在我想为两个表都设置一个触发器,可以在插入,更新或删除任何一个表时触发 . 触发此触发器时,我想在Audit中插入值 . 当我正在更新时,我想要旧值和新值 . 插入时我希望旧值为空,新值为Inserted.When正在删除我希望旧值为旧已删除的现有值和新值 .
1 回答
我不太清楚你的问题是什么 . 触发器可以使用:OLD和:NEW关键字,如下所示:
没有通用的方法,您必须为每列提供代码 . 但是,您可以像这样封装逻辑:
然后触发器是:
NB最佳做法是将程序放入一个包中 .