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

WBOY
リリース: 2016-06-07 17:37:45
オリジナル
2043 人が閲覧しました

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

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート