2016-04-15 50 views
1

我對Oracle數據庫中的單個表上不同類型的觸發器的最大數量有一個混淆。我們可以在Oracle DB的單個表上創建多少個觸發器

+0

沒有限制。您可以爲表中的同一個事件創建多個觸發器。但是,如果你熱衷於開發這樣一個系統,你可以在單個桌子上達到觸發器數量的實際限制,那麼毫無疑問,這將是一個完全愚蠢的系統。 –

+0

但是一些人在互聯網上說我們可以有12個同樣的觸發器。 –

+0

這顯然是錯誤的。 oracle不會阻止您爲同一事件創建多個觸發器。試試看看。另外,從病房11g起,支持複合觸發器。所以,12是明顯錯誤的。你可以有很多。 –

回答

1

由於任何限制,您是否遇到任何問題?

你可以有這些時間點的觸發器:

  • BEFORE語句觸發器
  • 行前觸發
  • AFTER行觸發
  • 後聲明引發

如果你有在一個時間點多於一個觸發器的執行順序是未定的,因此它應該是非常罕見的在同一個時間點有許多觸發器。

甲骨文documentation說:

你無法控制在多行引發火災的順序。

如果兩個或多個觸發器時,在相同的時刻點定義,以及它們開火順序很重要,那麼你就可以控制使用FOLLOWS條款的點火順序。

相關問題