Oracle 資料庫觸發器在 DDL(如 CREATE、ALTER)或 DML(如 INSERT、UPDATE、DELETE)操作時啟動:DDL 操作啟動基礎表上定義的觸發器。 DML 操作會啟動基礎表上定義的觸發器。
Oracle 資料庫觸發器啟動
#啟動觸發器的方法
Oracle 資料庫觸發器可在以下兩種情況下自動啟動:
觸發器激活範例
為了說明觸發器的激活,我們建立一個簡單的範例表以及一個在該表上定義的觸發器:
<code class="sql">-- 创建示例表 CREATE TABLE employees ( id NUMBER PRIMARY KEY, name VARCHAR2(50), salary NUMBER ); -- 定义触发器 CREATE TRIGGER salary_check BEFORE UPDATE ON employees FOR EACH ROW BEGIN IF NEW.salary < 0 THEN RAISE_APPLICATION_ERROR(-20001, 'Salary cannot be negative'); END IF; END;</code>
現在,當我們嘗試使用DML 操作更新員工表時,觸發器將被啟動並執行:
<code class="sql">-- 尝试更新员工的薪水为负值 UPDATE employees SET salary = -100 WHERE id = 1; -- 触发器将引发错误并回滚操作 ORA-20001: Salary cannot be negative</code>
需要注意的要點
以上是oracle資料庫觸發器怎麼激活的詳細內容。更多資訊請關注PHP中文網其他相關文章!