Oracle觸發器的語法詳解

觸發器是一種特殊的存儲過程,下面是觸發器的詳細說明:

  ORACLE 觸發器

  ORACLE產生數據庫觸發器的語法爲:

  create [or replace] trigger 觸發器名 觸發時間 觸發事件

  on 表名

  [for each row]

  pl/sql 語句

  其中:

  觸發器名:觸發器對象的名稱。由於觸發器是數據庫自動執行 的,因此該名稱只是一個名稱,沒有實質的用途。

  觸發時間:指明觸發器何時執行,該值可取:

  before---表示在數據庫動作之前觸發器執行;

  after---表示在數據庫動作之後出發器執行。

  觸發事件:指明哪些數據庫動作會觸發此觸發器:

  insert:數據庫插入會觸發此觸發器;

  update:數據庫修改會觸發此觸發器;

  delete:數據庫刪除會觸發此觸發器。

  表 名:數據庫觸發器所在的表。

  for each row:對錶的每一行觸發器執行一次。如果沒有這一選項,則只對整個表執行一次。

  舉例:下面的觸發器在更新表auths之前觸發,目的是不允許在週末修改表:

  create trigger auth_secure

  before insert or update or delete file://對整表更新前觸發

  on auths

  begin

  if(to_char(sysdate,'DY')='SUN'

  RAISE_APPLICATION_ERROR(-20600,'不能在週末修改表auths');

  ( RAISE_APPLICATION_ERROR是函數,括弧內的,第一參數範圍在-20000~20999之間,第二個

  參數是字符串,大小在2k,超過的話,系統自動截斷)

  end if;

  end

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章