如何配置触发器的执行顺序,使其按顺序执行?

触发器的执行顺序分为两种:

  • 触发器内不同执行操作间的执行顺序

​ 触发器内不同执行操作的执行顺序,理论上按照1-5先后顺序执行,但当其中有创建数据的执行操作时,会优先执行创建数据的操作。

  • 不同触发器间的执行顺序

​ 不同触发器间的执行操作根据触发表及触发条件而定,假设有ABC三个触发器:

  1. A和B绑定了同一个表格,满足触发动作和条件就会同时触发,无法稳定取到彼此执行结果值。
  2. A和B绑定了同一个表格,第一次触发满足了A,而A的执行结果可以触发B,B执行结果符合触发C但并不会触发C。

​ 其中,B可以取到A的中触发B的执行操作的结果值,其他执行操作结果值不一定能取到。举个例子:

​ A中有5个执行操作,第一个执行操作的结果触发了B,那么B可以取到A的第一个执行操作的结果值,但其余4个执行操作是否已完成执行不确定,因此不一定能取到其他执行操作结果值。

  1. A和B分别绑定了不同的两个表格,B和C绑定了同一表格,第一次触发满足了A,而A的执行结果可以触发B,B执行结果符合可以触发C。其中,B可以取到A的中触发B的执行操作的结果值,其他执行操作的结果值不一定能取到,C同理。
  2. A和B分别绑定了不同的两个表格,A和C绑定了同一表格,而A的执行结果可以触发B,B执行结果符合可以触发C。其中,B可以取到A的中触发B的执行操作的结果值,其他执行操作的结果值不一定能取到,C同理。
  • 除此之外,配置触发顺序可以通过手动执行触发器,稳定地实现按顺序触发触发器,并稳定取到前一个触发器的执行结果,其他执行操作的结果可以通过执行参数稳定获取。

PS:具体情形视实际情况而定。以上内容排除设定设定为无死循环基础上。死循环相关介绍见 如何避免死循环

2024-06-06 更新
1872 次查看