我试图控制 DB2 (v9.7) 上的递归触发器,不幸的是,IBM 文档没有提到知道当前触发器调用处于哪个递归级别的方法。
我发现 sql-server: 上有这个函数trigger_nestlevel()
,它基本上可以满足我的要求(知道实际的触发器递归调用级别)。所以我想知道DB2中是否有等效的功能。
我试图控制 DB2 (v9.7) 上的递归触发器,不幸的是,IBM 文档没有提到知道当前触发器调用处于哪个递归级别的方法。
我发现 sql-server: 上有这个函数trigger_nestlevel()
,它基本上可以满足我的要求(知道实际的触发器递归调用级别)。所以我想知道DB2中是否有等效的功能。
不幸的是,DB2 没有为此提供任何函数或存储过程。您最多可以有 16 个触发级联级别。
它是硬编码的,无法更改。
顺便说一句,在 DB2 中,如果一个触发器导致另一个触发器被触发,则称为触发器级联。您可以通过 NO CASCADE 关键字避免级联。
如果你想避免调用同一个触发器,有一个解决方法: