當前位置:成語大全網 - 漢語詞典 - sql觸發器的遞歸問題

sql觸發器的遞歸問題

觸發器有兩種不同的遞歸方法,直接遞歸和間接遞歸。

1.直接遞歸

當觸發器被激活並執行壹個操作時,該操作使用同壹個觸發器再次執行該操作,這稱為直接遞歸。

利用觸發器的直接遞歸,在刪除表中的壹條記錄時,通過觸發器刪除表中所有編號相同的記錄。

2.間接遞歸

當表1中的數據發生變化時,觸發器被激活並執行壹個操作,該操作又激活另壹個表2中的觸發器。表2中的這個觸發器更新了表1,從而再次激活了表1中的觸發器,這就是所謂的間接遞歸。

例如,應用程序更新表TA並引發trigger _ a..Trigger_A更新表TB,從而引發Trigger_B。Trigger_B反過來更新表ta,這樣Trigger_A再次被間接遞歸觸發。

您可以使用系統存儲過程sp_dboption關閉直接遞歸,但這會打開間接遞歸。要禁止這兩種類型的遞歸,需要使用系統存儲過程sp_configure。

參考資料:

明日系列編程詞典- SQL Server編程詞典體驗版