簡體   English   中英

DB2相當於SQL Server的TRIGGER_NESTLEVEL()?

[英]DB2 equivalent of SQL Server's TRIGGER_NESTLEVEL()?

我試圖控制DB2上的遞歸觸發器(v9.7),遺憾的是IBM文檔沒有提到一種方法來了解當前觸發器調用的遞歸級別。

我發現在sql-server: trigger_nestlevel()上有這個函數,它基本上做了我想要的(知道實際的觸發器遞歸調用級別)。 所以我想知道DB2中是否存在等效函數。

不幸的是,DB2沒有任何功能或存儲過程。 您最多可以有16個觸發級聯級別。

它是硬編碼的,不能更改。

在DB2中BTW,如果觸發器導致觸發另一個觸發器,則稱為觸發器級聯。 並且您可以通過NO CASCADE關鍵字避免級聯。

如果你想避免調用同一個觸發器,有一個解決方法:

  1. 為表創建一個視圖=>從Table1創建View vTable1作為Select *
  2. 為vTable1創建一個INSTEAD OF TRIGGER。 =>在vTable1上創建TRIGGER TRG_INSERT INSTEAD OF INSERT
  3. 在TRG_INSERT中,插入到table1中。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM