gpt4 book ai didi

sql - DB2 相当于 SQL Server 的 TRIGGER_NESTLEVEL()?

转载 作者:行者123 更新时间:2023-12-02 23:20:55 34 4
gpt4 key购买 nike

我正在尝试通过 DB2 (v9.7) 控制递归触发器,不幸的是 IBM 文档没有提到了解当前触发器调用处于哪个递归级别的方法。

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

最佳答案

不幸的是,DB2 没有任何用于此目的的函数或存储过程。您最多可以有 16 个触发级联级别。

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

顺便说一句,在 DB2 中,如果一个触发器导致另一个触发器被触发,则称为触发器级联。并且您可以通过 NO CASCADE 关键字来避免级联。

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

  1. 为您的表创建一个 View => 创建 View vTable1 作为 Select * from Table1
  2. 为 vTable1 创建一个 INSTEAD OF TRIGGER。 => 创建触发器 TRG_INSERT 而不是在 vTable1 上插入
  3. 在 TRG_INSERT 中,插入到 table1。

关于sql - DB2 相当于 SQL Server 的 TRIGGER_NESTLEVEL()?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13845776/

34 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com