以文本方式查看主题 - Foxtable(狐表) (http://foxtable.com/bbs/index.asp) -- 专家坐堂 (http://foxtable.com/bbs/list.asp?boardid=2) ---- 关于触发器,请教大神 (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=106209) |
-- 作者:newsun2k -- 发布时间:2017/9/4 17:08:00 -- 关于触发器,请教大神 我想记录一个表更新前后的数据。 创建了如下的触发器。 实际运行时,发现,有这样的问题: 记录表中,存在这样的数据:列1是原表数据1的,列2是原表数据2的。 这是什么原因呢? 请大神指导啊。 |
-- 作者:newsun2k -- 发布时间:2017/9/4 17:09:00 -- crea te trigger trigger1 on 表A for update as ins ert into 记录表( 列1_更新前, 列2_更新前, 列1_更新后, 列2_更新后 ) sel ect max(列1_更新前),max(列2_更新前),max(列1_更新后),max(列2_更新后) fro m ( select 1 AS 类别, 列1 as 列1_更新前, 列2 as 列2_更新前, null as 列1_更新后, null as 列2_更新后 fro m deleted uni on all sel ect 1 AS 类别, null as 列1_更新前, null as 列2_更新前, 列1 as 列1_更新后, 列2 as 列2_更新后 fro m inserted ) group by 类别
|
-- 作者:有点蓝 -- 发布时间:2017/9/4 17:52:00 -- 2列不是同时保存的? |
-- 作者:newsun2k -- 发布时间:2017/9/4 20:01:00 -- 就是我的记录表中存在这样的数据。 列1_更新前 列2_更新前 列1_更新后 列2_更新后 A1 B1 A1 B2 但是,很明显,A1 和 B1 是来自表A中的两行数据,B1对应的列1,不是A1。 这我有点傻眼了。 难道inserted中有多行数据?deleted中有多行数据? |
-- 作者:newsun2k -- 发布时间:2017/9/4 20:14:00 -- 哦,知道了 |