DB2相当于SQL Server TRIGGER_NESTLEVEL()?

时间:2012-12-12 17:56:39

标签: sql sql-server triggers db2

我正在尝试控制DB2上的递归触发器(v9.7),遗憾的是IBM文档没有提到一种方法来了解当前触发器调用所处的递归级别。

我发现在sql-server上有这个函数:trigger_nestlevel(),它基本上做了我想要的(知道实际的触发器递归调用级别)。所以我想知道DB2中是否存在等效函数。

1 个答案:

答案 0 :(得分:0)

不幸的是,DB2没有任何功能或存储过程。 您最多可以有16个触发级联级别。

它是硬编码的,无法更改。

DB2中的BTW,如果触发器导致触发另一个触发器,则称为触发器级联。并且您可以通过NO CASCADE关键字避免级联。

如果您想避免调用相同的触发器,则有一种解决方法:

  1. 为您的表创建一个视图=>创建视图vTable1作为Select * from Table1
  2. 为vTable1创建一个INSTEAD OF TRIGGER。 =>在vTable1上创建TRIGGER TRG_INSERT INSTEAD OF INSERT
  3. 在TRG_INSERT中,插入到table1。
相关问题