T-SQL 如何检查并记录表数据变化.

有时候 我们需要记录一下表数据的操作记录,再根据操作记录处理一下逻辑,这种情况下,可以通过T-SQL中的OUTPUT子句简单处理.
--定义测试表变量
DECLARE @T TABLE
(
	ID INT PRIMARY KEY IDENTITY,
	NAME NVARCHAR(100)
)

-- 导入测试数据
INSERT INTO @T
        (  NAME )
VALUES  ('LEO LIU')
INSERT INTO @T
        (  NAME )
VALUES  ('LEO LIU')
INSERT INTO @T
        (  NAME )
VALUES  ('LEO LIU')
INSERT INTO @T
        (  NAME )
VALUES  ('LEO LIU')
INSERT INTO @T
        (  NAME )
VALUES  ('LEO LIU')

--定义监控表变量
DECLARE @T2 TABLE
(
	OldValue NVARCHAR(100),
	NewValue NVARCHAR(100)
)

--开始测试
UPDATE @T SET NAME = 'leo liu'
OUTPUT DELETED.NAME,INSERTED.NAME INTO @T2
WHERE ID = 1

-- 检查测试结果
SELECT * FROM @T2

  

posted @ 2012-07-03 17:45  darjuan  阅读(333)  评论(0编辑  收藏  举报