Office中国论坛/Access中国论坛
标题:
已解决。如何写这个update类型的触发器?
[打印本页]
作者:
wu8313
时间:
2008-8-19 17:53
标题:
已解决。如何写这个update类型的触发器?
已知:
t1 表中的 '李四' 对应的autoid=4,
t2 表中的 '赵四' 对应的id=4 .
要求:
当 t1 表中的 '李四' 被修改为 '钱五'
那么, t2 表中的 '赵四' 也被修改为 '钱五'
也就是说 两表中只有相同id的行同步更新,使得 name 列值保持一致。
应该如何写这个触发器?谢谢。
附件为 :我在上文中提到的数据库的 mdf 和 ldf 文件。包含 t1表 和 t2表
[
本帖最后由 wu8313 于 2008-8-21 09:51 编辑
]
作者:
laomao
时间:
2008-8-21 00:05
为什么要这样做?去掉t2的name列,t2用id外连接t1就可以了
作者:
wu8313
时间:
2008-8-21 09:45
原帖由
laomao
于 2008-8-21 00:05 发表
为什么要这样做?去掉t2的name列,t2用id外连接t1就可以了
t2表包含name列是必须的,这个无法省略。
请老猫查看库中的关系图。我建立了autoid 和 id 的连接 ,是级联删除,而没有级联更新(即使设置了,也无法达到级联更新的效果)。
[
本帖最后由 wu8313 于 2008-8-21 09:51 编辑
]
作者:
wu8313
时间:
2008-8-21 09:49
问题已经解决。
在t1中建立触发器如下:
create trigger update_t2
on t1
for update
as
begin
if update(name)
update t2 set name = t1.name from t2,inserted t1 where t2.id = t1.autoid
end
欢迎光临 Office中国论坛/Access中国论坛 (http://www.office-cn.net/)
Powered by Discuz! X3.3