我的系统数据量很大,为了提高性能,我的很多功能都是用触发器实现的,而不是外部程序。
所以数据库里面有很多触发器,有一些是嵌套触发的,形成一个链条。
但链条中的某一个触发器执行出错时,所有的触发器都回滚了,这是我不想看到的。
如何做到不让触发器回滚?
1、触发器是怎样控制事务的?
2、可否做到出错时不让触发器回滚?
3、即使回滚了,能不能截断这一链条,不波及其他的触发器?
4、是不是我这样做本身就是一个愚蠢的设计?有什么代替方案?
1、不是触发器控制事务的吧,是外部存储过程或者执行语句控制。
2、可以,在外部存储过程或执行语句中去掉回滚。
3、全由外部存储过程判断。
4、没明白你什么意思。我觉得你现在这样做就很好,如果去掉了回滚,怎么保持数据的一致性啊,况且不会提高服务器多大性能。
所以数据库里面有很多触发器,有一些是嵌套触发的,形成一个链条。
但链条中的某一个触发器执行出错时,所有的触发器都回滚了,这是我不想看到的。
如何做到不让触发器回滚?
1、触发器是怎样控制事务的?
2、可否做到出错时不让触发器回滚?
3、即使回滚了,能不能截断这一链条,不波及其他的触发器?
4、是不是我这样做本身就是一个愚蠢的设计?有什么代替方案?
1、不是触发器控制事务的吧,是外部存储过程或者执行语句控制。
2、可以,在外部存储过程或执行语句中去掉回滚。
3、全由外部存储过程判断。
4、没明白你什么意思。我觉得你现在这样做就很好,如果去掉了回滚,怎么保持数据的一致性啊,况且不会提高服务器多大性能。