触发器的执行顺序分为两种:
- 触发器内不同执行操作间的执行顺序
触发器内不同执行操作的执行顺序,理论上按照1-5先后顺序执行,但当其中有创建数据的执行操作时,会优先执行创建数据的操作。
- 不同触发器间的执行顺序
不同触发器间的执行操作根据触发表及触发条件而定,假设有ABC三个触发器:
- A和B绑定了同一个表格,满足触发动作和条件就会同时触发,无法稳定取到彼此执行结果值。
- A和B绑定了同一个表格,第一次触发满足了A,而A的执行结果可以触发B,B执行结果符合触发C但并不会触发C。
其中,B可以取到A的中触发B的执行操作的结果值,其他执行操作结果值不一定能取到。举个例子:
A中有5个执行操作,第一个执行操作的结果触发了B,那么B可以取到A的第一个执行操作的结果值,但其余4个执行操作是否已完成执行不确定,因此不一定能取到其他执行操作结果值。
- A和B分别绑定了不同的两个表格,B和C绑定了同一表格,第一次触发满足了A,而A的执行结果可以触发B,B执行结果符合可以触发C。其中,B可以取到A的中触发B的执行操作的结果值,其他执行操作的结果值不一定能取到,C同理。
- A和B分别绑定了不同的两个表格,A和C绑定了同一表格,而A的执行结果可以触发B,B执行结果符合可以触发C。其中,B可以取到A的中触发B的执行操作的结果值,其他执行操作的结果值不一定能取到,C同理。
- 除此之外,配置触发顺序可以通过手动执行触发器,稳定地实现按顺序触发触发器,并稳定取到前一个触发器的执行结果,其他执行操作的结果可以通过执行参数稳定获取。
PS:具体情形视实际情况而定。以上内容排除设定设定为无死循环基础上。死循环相关介绍见 如何避免死循环