暂无图片
sql 数据库 update数据失败会不会触发触发器的调用?
我来答
分享
暂无图片 匿名用户
sql 数据库 update数据失败会不会触发触发器的调用?

update数据失败会不会触发触发器的调用?

我来答
添加附件
收藏
分享
问题补充
2条回答
默认
最新
Thomas

一般不会。不过,若你的触发器是自治事务类型的,那么就会调用(以ORACLE为例)。

暂无图片 评论
暂无图片 有用 0
DarkAthena

主要看失败是在哪一个环节。
先假定触发器设置的是针对表上某个字段被更新时进行触发,且设置为before,则:

  1. 如果update的sql语法错误,则不会触发
  2. 如果update的语法正确,且数据类型符合要求,则会先触发—此时如果发现由于某些原因更新失败,触发器又会回滚掉;但是,如果这个触发器调用了一个自治事务的存储过程,那么自治事务里的内容就不会回滚。

另外还有after,或者监控其他事件的触发器,等等很多种情况,(比如可以设置只有在报错时才触发),所以这个答案不能一概而论,具体场景具体分析

暂无图片 评论
暂无图片 有用 0
回答交流
提交
问题信息
请登录之后查看
邀请回答
暂无人订阅该标签,敬请期待~~
暂无图片墨值悬赏