在对表里面的数据进行更新的时候 将该记录更新前所有字段 与更新后的所有字段 转换为字符串后存放到另外一张表中,
怎么来实现这个需求?
求帮忙。
------解决思路----------------------
编写触发器能使用的语句同存储过程差不多, 转换就用 Convert 函数啊.
------解决思路----------------------
数据存储的时候,还是尽量避免压缩,不然后期提取,加工很麻烦。
你直接备份数据行好了。
------解决思路----------------------
CREATE TRIGGER t_test FOR UPDATE ON tb
AS
BEGIN
--插入更新前的数据
INSERT INTO #TB2(id,内容1)
SELECT id,内容 FROM INSERTED a WHERE NOT EXISTS (SELECT * FROM DELETED b INNER JOIN a ON a.id=b.id AND a.内容=b.内容)
--插入更新后的数据
INSERT INTO #TB2(内容2)
SELECT 内容 FROM INSERTED a WHERE EXISTS (SELECT * FROM DELETED b INNER JOIN a ON a.id=b.id AND a.内容=b.内容)
END
我的思路是INSERTED是记录更新前的数据库表,DELETED是更新后的数据库表,结合EXISTS关联二个表插入更新前和更新后的数据进行对比,可能语法还需要更正,因为没有测试的环境