1

我有多个表,目前对一个几乎是克隆和 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 为插入做好准备,但我不确定如果有任何合适的函数是什么。

关于要使用的功能的任何建议都会很棒。

4

0 回答 0