oracle 觸發器是當表中發生特定事件(如插入、更新或刪除記錄)時自動執行動作的數據庫對象。要創建觸發器,使用語法 create trigger on for asbegin end;。觸發器可以插入、更新或刪除另一個表中的記錄,調用過程或函數,并執行用戶定義的代碼。
Oracle 數據庫觸發器創建指南
什么是 Oracle 觸發器?
Oracle 觸發器是一種數據庫對象,當表中發生特定事件(例如插入、更新或刪除記錄)時,它會自動執行一系列動作。觸發器可以用來驗證數據、執行計算或記錄審計事件等。
如何創建觸發器
要創建 Oracle 觸發器,請使用以下語法:
<code class="sql">CREATE TRIGGER ON FOR AS BEGIN -- 執行觸發的動作 END;</code>
登錄后復制
觸發事件
可以為觸發器定義以下事件:
INSERT: 在插入新記錄時觸發
UPDATE: 在更新現有記錄時觸發
DELETE: 在刪除現有記錄時觸發
觸發器動作
觸發器可以執行以下操作:
插入: 插入新的記錄到另一個表中
更新: 更新另一個表中的現有記錄
刪除: 從另一個表中刪除記錄
調用過程或函數: 執行用戶定義的代碼
觸發器示例
例如,以下觸發器在向 “Employees” 表中插入新記錄時將員工姓名存儲到 “AuditLog” 表中:
<code class="sql">CREATE TRIGGER audit_employee_insert ON Employees FOR INSERT AS BEGIN INSERT INTO AuditLog (action, table_name, record_id, employee_name) VALUES ('INSERT', 'Employees', NEW.employee_id, NEW.employee_name); END;</code>
登錄后復制
注意:
觸發器名稱必須唯一。
觸發器可以包含多個動作。
觸發器可以在 DDL (數據定義語言) 操作(例如創建或刪除表)期間被禁用。
觸發器可以根據需要多次創建。