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編程詞典體驗版