溫馨提示×

oracle觸發器怎么創建及使用

小億
103
2023-12-18 10:34:04
欄目: 云計算

創建觸發器的語法如下:

CREATE [OR REPLACE] TRIGGER trigger_name {BEFORE | AFTER | INSTEAD OF} {INSERT | UPDATE | DELETE} [OF column_name] ON table_name [REFERENCING OLD AS old NEW AS new] [FOR EACH ROW] [WHEN (condition)] DECLARE declaration_section BEGIN executable_section EXCEPTION exception_section END;

其中:

  • trigger_name:觸發器的名稱。
  • BEFORE/AFTER/INSTEAD OF:觸發器的執行時間。
  • INSERT/UPDATE/DELETE:觸發器的事件類型。
  • OF column_name:觸發器只對指定列的操作觸發。
  • table_name:觸發器所屬的表名。
  • REFERENCING OLD AS old NEW AS new:用于在觸發器中引用舊值和新值。
  • FOR EACH ROW:表示觸發器對每一行數據都執行。
  • WHEN (condition):觸發器執行的條件。
  • declaration_section:聲明變量和游標。
  • executable_section:執行的SQL語句。
  • exception_section:處理異常的代碼。

創建了觸發器后,可以使用INSERT、UPDATE、DELETE語句來觸發觸發器的執行。

例如,創建一個在每次插入數據后自動更新修改時間的觸發器:

CREATE OR REPLACE TRIGGER update_modify_time AFTER INSERT ON table_name FOR EACH ROW BEGIN UPDATE table_name SET modify_time = SYSDATE WHERE id = :new.id; END;

使用INSERT語句插入數據后,觸發器會自動執行更新操作,更新修改時間。

0
亚洲午夜精品一区二区_中文无码日韩欧免_久久香蕉精品视频_欧美主播一区二区三区美女