Maison > Article > base de données > 表数据变更记录日志的经验分享(SqlServer)
前面两次项目都遇到过监控表数据变更的需求。 把自己的解决方案分享给大家 (触发器+配置表)。 使用方法: Setp1 :根据需要更改附件脚本的如下配置,对需要监控的表添加触发器. Setp2 :在配置表MonitorConfig中添加需要监控的表字段信息。 ---配置Begin-------
前面两次项目都遇到过监控表数据变更的需求。
把自己的解决方案分享给大家 (触发器+配置表)。
使用方法:
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也是可以的。
,