行級觸發器

2021-08-01 15:07:39 字數 1406 閱讀 8759

行級觸發器

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會話中建立和示例一 個簡...