在Oracle數據庫中,觸發器是一種特殊類型的存儲過程,它在特定事件(如INSERT、UPDATE或DELETE)發生時自動執行
CREATE OR REPLACE TRIGGER update_last_updated
BEFORE INSERT OR UPDATE ON employees
FOR EACH ROW
BEGIN
:new.last_updated := sysdate;
END;
/
這里,我們使用了以下關鍵字和元素:
CREATE OR REPLACE TRIGGER:創建一個新觸發器,如果已經存在同名觸發器,則替換它。update_last_updated:觸發器的名稱。BEFORE INSERT OR UPDATE:指定觸發器在INSERT或UPDATE操作之前執行。ON employees:指定觸發器與"employees"表相關聯。FOR EACH ROW:指定觸發器將為每一行記錄執行一次。:new.last_updated := sysdate;:觸發器的主體部分,它將新記錄的"last_updated"列設置為當前日期和時間。DROP TRIGGER update_last_updated;
SELECT trigger_name, table_name, trigger_type, triggering_event, trigger_body
FROM user_triggers;
ALTER TRIGGER update_last_updated DISABLE;
要重新啟用觸發器,請使用以下語句:
ALTER TRIGGER update_last_updated ENABLE;
這些是在Oracle數據庫中創建、修改和管理觸發器的基本方法。請根據您的需求調整示例代碼,并確保始終遵循最佳實踐和安全性原則。