MYSQL触发器用于按列更改进行审核

时间:2012-06-29 01:28:37

标签: mysql function triggers audit declare

我有多个表,目前审计到一个几乎是克隆和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,但我不确定如果有任何适当的函数是什么。

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

0 个答案:

没有答案