设为首页收藏本站Access中国

Office中国论坛/Access中国论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

返回列表 发新帖
查看: 2217|回复: 3
打印 上一主题 下一主题

已解决。如何写这个update类型的触发器?

[复制链接]
跳转到指定楼层
1#
发表于 2008-8-19 17:53:21 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
已知:
     t1 表中的 '李四' 对应的autoid=4,
     t2 表中的 '赵四' 对应的id=4 .

要求:
       当 t1 表中的 '李四' 被修改为 '钱五'
那么,  t2 表中的 '赵四' 也被修改为 '钱五'
也就是说 两表中只有相同id的行同步更新,使得 name 列值保持一致。

应该如何写这个触发器?谢谢。

附件为 :我在上文中提到的数据库的 mdf 和 ldf 文件。包含 t1表 和 t2表

[ 本帖最后由 wu8313 于 2008-8-21 09:51 编辑 ]

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享分享 分享淘帖 订阅订阅
2#
发表于 2008-8-21 00:05:18 | 只看该作者
为什么要这样做?去掉t2的name列,t2用id外连接t1就可以了
3#
 楼主| 发表于 2008-8-21 09:45:02 | 只看该作者
原帖由 laomao 于 2008-8-21 00:05 发表
为什么要这样做?去掉t2的name列,t2用id外连接t1就可以了


t2表包含name列是必须的,这个无法省略。

请老猫查看库中的关系图。我建立了autoid 和 id 的连接 ,是级联删除,而没有级联更新(即使设置了,也无法达到级联更新的效果)。

[ 本帖最后由 wu8313 于 2008-8-21 09:51 编辑 ]

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x
4#
 楼主| 发表于 2008-8-21 09:49:35 | 只看该作者
问题已经解决。

在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
您需要登录后才可以回帖 登录 | 注册

本版积分规则

QQ|站长邮箱|小黑屋|手机版|Office中国/Access中国 ( 粤ICP备10043721号-1 )  

GMT+8, 2024-5-5 06:26 , Processed in 0.084962 second(s), 28 queries .

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表