PolarDB PostgreSQL版(兼容Oracle)數據庫支持行級和語句級觸發器。行級觸發器對受觸發事件影響的每一行觸發一次。例如,如果刪除定義為表上的觸發事件,并且發出一條從表中刪除五行的DELETE命令,則觸發器將觸發五次,為每一行觸發一次。

相反,無論受觸發事件影響的行數是多少,語句級觸發器都按每個觸發語句觸發一次。在前面的單個DELETE命令示例中,該命令刪除五行,語句級觸發器將僅觸發一次。

對于語句級觸發器,操作順序(觸發器代碼塊是在觸發語句本身之前還是之后執行)可以定義;對于行級觸發器,觸發器代碼塊是在每一行之前還是之后執行將受觸發語句的影響。

在之前行級觸發器中,觸發器代碼塊在對受影響的每一行執行觸發操作之前執行。在之前語句級觸發器中,觸發器代碼塊在執行觸發語句的操作之前執行。

在之后行級別觸發器中,觸發器代碼塊在對受影響的每一行執行觸發操作之后執行。在之后語句級觸發器中,觸發器代碼塊在執行觸發語句的操作之后執行。