我有多个表,目前对一个几乎是克隆和 1 对 1 的表进行审计。我希望为我的所有表创建一个用于审计目的的表,但不是捕获我想要的所有更改仅插入到审计中的列名更改、旧数据和新数据。
这是我的概念触发器;
CREATE TRIGGER `tr_users_audit`
BEFORE UPDATE ON `tbl_users` FOR EACH ROW
BEGIN
DECLARE @var1 nvarchar(max), @var1 nvarchar(max), @var1 nvarchar(max)
[... get values for var's ...]
INSERT INTO `tbl_audit` (id_user, event_date, table_name, record_id, column_name, old_value, new_value)
VALUES (NEW.update_userid, NEW.dtupdated, 'tbl_users', NEW.id, [@va1], [@var2], [@var3],)
END
我在网上搜索了几个小时,并没有找到很多审计示例触发器,而我发现的那些触发器并没有做这样的事情。我想我需要相当多的 sql 才能让 3 var 为插入做好准备,但我不确定如果有任何合适的函数是什么。
关于要使用的功能的任何建议都会很棒。