SYBASE 11。5级联更新触发器问题

zhengquansun 2004-12-27 09:49:54
我在数据库中建了3个表:A、B、C。A表的主键更新会触发B表主键更新,而B表主键的更新则会触发C表主键的更新(都通过触发器),现在我修改B表主键没问题,而修改A表主键则会:若C表无相应记录,则B表正常更新;若C表中有响应记录则提示无法向C表中插入重复数据。

谁能告诉我这是怎么回事?
...全文
65 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
zhengquansun 2004-12-27
  • 打赏
  • 举报
回复
可能是习惯了,以前都是用触发器控制的,
回ropriest:修改B表主键的时候,C有无记录都可以。我的触发器是用PD直接生成的,没检查出什么问题,我的猜测是:1,级联更新B表时不是触发B表的UPDATE,而是DEL/INS触发器,这样会导致C表更新出错;2,C表中主键有一部分是DATETIME 类型,不知是不是与这有关(在DW的更新属性中DT类型总不在主键列表)。我不知道怎么才能看出是触发了哪个触发器,触发器的错误信息都没显示。
balloonman2002 2004-12-27
  • 打赏
  • 举报
回复
建议放到PB前台去控制多级级联更新,触发器不稳定
ropriest 2004-12-27
  • 打赏
  • 举报
回复
看看触发器是否有问题,修改B表主键的时候,C有无记录都可以的么?

还有最好少用这种级联触发,很容易锁表导致死锁的,并且如果数据量大的话比较浪费资源,影响程序运行效率!

752

社区成员

发帖
与我相关
我的任务
社区描述
PowerBuilder 数据库相关
社区管理员
  • 数据库相关社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧