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

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

WBOY
WBOYOriginal
2016-06-07 17:37:452016Durchsuche

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

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn