行級觸發器
1觸發器使用for each row選項
2行級觸發器進行dml操作時,每作用一行就觸發一次。
行級觸發器分類
1before行級觸發器
為了確保資料符合商業邏輯和企業規劃,應該使用約束對輸入資料加以限制。在某些情況下約束無法實現複雜的商業邏輯和企業規範,這時候可以使用before行級觸發器
2after行級觸發器
為了審計dml操作,可以使用語句觸發器或oracle系統提供的審計功能,為了審計資料的變化,應該使用after行級觸發器
3限制行觸發器
一般情況,行級觸發器每作用一行就觸發一次,而限制行觸發器則是在特定的條件下才執行行觸發器的**。需要使用when字句對觸發器條件加以限制.
舉例
測試資料
解釋:
update student2 set cno=』2』 where sno=』1』;
根據觸發器規則,cno有改動的話,報外來鍵約束的值不能修改的錯誤
update student2 set sname=』lilic』 where sno=』1』;
根據觸發器規則,cno沒有改動的話,將修改前的資料插入備份表student2bei中。
針對某乙個列的行級觸發器before update of cno:觸發事件時cno列發生update操作才觸發
ORACLE觸發器 行級觸發器
行級觸發器 本章介紹行級觸發器機制。大部分例子以insert出發器給出,行級觸發器可從insert update delete語句觸發。1 介紹 觸發器是儲存在資料庫已編譯的儲存過程,使用的語言是pl sql,用編寫儲存過程一樣的方式編寫和編譯觸發器。下面在sql plus會話中建立和示例乙個簡單的...
Oracle觸發器介紹 行級觸發器
行級觸發器 本章介紹行級觸發器機制。大部分例子以insert出發器給出,行級觸發器可從insert update delete語句觸發。1 介紹 觸 髮器是儲存在資料庫已編譯的儲存過程,使用的語言是pl sql,用編寫儲存過程一樣的方式編寫和編譯觸發器。下面在sql plus會話中建立和示例一 個簡...
Oracle觸發器介紹 行級觸發器
行級觸發器 本章介紹行級觸發器機制。大部分例子以insert出發器給出,行級觸發器可從insert update delete語句觸發。1 介紹 觸 髮器是儲存在資料庫已編譯的儲存過程,使用的語言是pl sql,用編寫儲存過程一樣的方式編寫和編譯觸發器。下面在sql plus會話中建立和示例一 個簡...