在Oracle數據庫中,創建觸發器需要使用CREATE TRIGGER語句。以下是一個簡單的示例,說明如何創建一個觸發器。
首先,我們需要創建一個表,用于存儲員工信息:
CREATE TABLE employees (
id NUMBER PRIMARY KEY,
name VARCHAR2(50),
salary NUMBER(10, 2)
);
接下來,我們創建一個觸發器,當向employees表插入新記錄時,自動更新salary字段,將其設置為原始值的1.1倍:
CREATE OR REPLACE TRIGGER update_salary_trigger
BEFORE INSERT ON employees
FOR EACH ROW
BEGIN
:new.salary := :new.salary * 1.1;
END;
/
在這個示例中,我們使用了以下關鍵字和語法:
CREATE OR REPLACE TRIGGER:創建一個新的觸發器,如果已經存在同名觸發器,則替換它。update_salary_trigger:觸發器的名稱。BEFORE INSERT:指定觸發器在插入操作之前觸發。ON employees:指定觸發器與employees表關聯。FOR EACH ROW:指定觸發器對每一行記錄都進行處理。BEGIN...END:包含觸發器的執行代碼。:new.salary:表示新插入記錄的salary字段。現在,每當向employees表插入新記錄時,觸發器update_salary_trigger都會自動更新salary字段。