SQL Server 使用触发器监控数据变更
来源:互联网 发布:java面试程序题 编辑:程序博客网 时间:2024/05/16 06:47
-- 创建一个t表,来模拟要被监控的数据表 CREATE TABLE t(ID INT IDENTITY(1,1) NOT NULL, aid INT, aname NVARCHAR(20));GO INSERT INTO t VALUES(101,'AA');GO --创建另一张表Update_info,用来记录数据变更的详细信息 CREATE TABLE Update_info(Update_id uniqueidentifier,ID INT,aid_update NVARCHAR(128),aid_value int,aname_update NVARCHAR(128), aname_value NVARCHAR(20),Logged_USER NVARCHAR(128),UPDATE_USER NVARCHAR(128),UPDATE_TIME DATETIME);GO --在表格t上创建触发器,当对此表进行更新时,记录信息,并插入到表格Update_info CREATE TRIGGER mytr ON t FOR UPDATE AS DECLARE @Update_id AS uniqueidentifier SET @Update_id= NEWID()INSERT INTO Update_info(Update_id,ID,aid_update,aid_value,aname_update,aname_value,Logged_USER,UPDATE_USER,UPDATE_TIME) SELECT @Update_id AS Update_id, A.ID, (CASE WHEN ISNULL(B.aid,0)=ISNULL(A.aid,0) THEN NULL ELSE 'aid' END) AS aid_update, (CASE WHEN ISNULL(B.aid,0)=ISNULL(A.aid,0) THEN NULL ELSE A.aid END) aid_value, (CASE WHEN ISNULL(B.aname,'')=ISNULL(A.aname,'') THEN NULL ELSE 'aname' END) AS aid_update, (CASE WHEN ISNULL(B.aname,'')=ISNULL(A.aname,'') THEN NULL ELSE A.aname END) aid_value, ORIGINAL_LOGIN() AS Logged_USER, CURRENT_USER AS UPDATE_USER, GETDATE() AS UPDATE_TIME FROM deleted A INNER JOIN inserted B on A.ID=B.IDSELECT * FROM Update_info;GO -- 测试 UPDATE t SET aid=102,aname='BB'
- SQL Server 使用触发器监控数据变更
- SQL Server 变更数据捕获(CDC)监控表数据
- SQL Server 2005中使用DDL触发器监控数据库变化
- oracle 监控表数据变更触发器(脚本生成)
- sql server cdc 变更数据捕获
- SQL SERVER 2008 数据变更捕获(CDC )
- SQL SERVER 2008 数据变更捕获(CDC )
- SQL SERVER CDC变更数据捕获
- SQL Server 变更数据捕获(CDC)
- 监控SQL:通过SQL Server的DML触发器来监控哪些IP对表的数据进行了修改(2)
- SQL Server 中的触发器使用
- Sql SERVER 触发器的使用
- Sql Server触发器的使用
- SQL Server触发器的使用
- SQL Server触发器的使用
- SQL Server 触发器(表数据添加)
- 用SQL Server 2005DDL触发器对数据库进行监控
- SQL Server 2005中触发器监控数据库变化
- Static Nested Class 和 Inner Class的不同
- ISO/IEC14443
- 安装 ns-3.12
- I2C总线学习—查缺补漏—S3C2440的I2C控制器
- LDAP接管LINUX登录认证
- SQL Server 使用触发器监控数据变更
- Vbox下VirtualBox内的客户端和宿主主机的文件共享设置
- 完成端口函数流程解析
- archlinux使用支付宝控件不正常
- HQL的随笔记
- 下载ns-3-dev
- 显示javascript error info 的方法
- 真机测试时不小心拔掉机器导致的 一个bug及解决方案
- gdb 断点(三)catch