Rumah  >  Artikel  >  pangkalan data  >  表数据变更记录日志的经验分享(SqlServer)

表数据变更记录日志的经验分享(SqlServer)

WBOY
WBOYasal
2016-06-07 17:37:452016semak imbas

前面两次项目都遇到过监控表数据变更的需求。 把自己的解决方案分享给大家 (触发器+配置表)。 使用方法: 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也是可以的。

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn