Oracle觸發器之系統觸發器


系統觸發器

可以用系統觸發器記錄一些ddl的數據操作或者是數據庫的登錄 或者登出操作。
語法:
create or replace trigger 觸發器名稱
before/after 觸發器時機
事件名稱 例如logon logoffff ddl
on
用戶的對象/數據庫 如果是用戶的對象 用戶名.schema /database
when 條件表達式
begin
語句塊;
end;
舉例:創建一個系統觸發器,記錄scott用戶的ddl操作
--創建用戶的歷史記錄操作表
create table ddl_event( --用戶的操作時間 create_date date, -- 用戶名 operate_user varchar2(100), -- 用戶的操
作 operate varchar2(50), --用戶操作對象的類型 obj_type varchar2(50), --用戶操作對象的名稱 obj_name
varchar2(50) );
創建觸發器:
create or replace trigger tri_ddl_scott
after ddl on scott.schema
begin
--往用戶操作歷史表插入數據
--可以通過數據庫常量獲取要插入的數據
insert into ddl_event values(sysdate,ora_login_user,ora_sysevent,ora_dict_obj_type,
ora_dict_obj_name
);
end;

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM