前面两次项目都遇到过监控表数据变更的需求。
把自己的解决方案分享给大家 (触发器+配置表)。
使用方法:
setp1:根据需要更改附件脚本的如下配置,对需要监控的表添加触发器.
setp2:在配置表monitorconfig中添加需要监控的表字段信息。
---配置begin--------------------
set @changetype = '添加'
set @tablename = 'testchange' --需要监控的表名称
set @tablekeyname = 'id' --需要监控的表主键
set @remark = '触发器记录的变更日志备注'
---配置 end--------------------
---------------------------------------华丽的分割线(下面进行效果测试)---------------------------------
1. 执行附件脚本初始化测试数据(请猛戳这里下载)。
2.测试添加记录日志监控。
dbo.testchange
( id ,
dept ,
score,
updator ,
updatetime ,
creator ,
createtime
)
'admin' , getdate()
测试结果:
3.测试更新记录日志监控。
执行脚本:
update dbo.testchange set dept='平台架构部',score='b' where id=4
测试结果:
4.测试删除记录日志监控。
执行sql:
update dbo.testchange set updator='somebody'
delete from dbo.testchange
测试结果:
5.日志数据读取(自己yy啦~)。
这种方法用于oracle也是可以的。
,
