如何写一个触发器记录对于profile的创建,修改,删除呢?还有一个触发器记录将profile赋予某个user的信息。
和profile相关的表dba_profile,可以开启audit,不过还是没有想到如何来记录为好。请各位高手帮忙,给个思路也好~~触发器好像都是对普通表,dba_profiles是系统表,无法创建触发器。
开启审计audit profile倒是能够记录对profile的操作,但是将一个profile付给一个user时,怎么记录呢?开启audit alter user?能够将这些信息记录在创建的一个表中呢?
和profile相关的表dba_profile,可以开启audit,不过还是没有想到如何来记录为好。请各位高手帮忙,给个思路也好~~触发器好像都是对普通表,dba_profiles是系统表,无法创建触发器。
开启审计audit profile倒是能够记录对profile的操作,但是将一个profile付给一个user时,怎么记录呢?开启audit alter user?能够将这些信息记录在创建的一个表中呢?
before insert or update or delete
referencing new as new_value
old as old_value
for each
if insrting then
insert into table (num1,num2) values (:new_value.num1,:new_value.num2);
elsif updating then
insert into table (num1,num2) values('Old Message:'||:old_value.num1||'.New Message:'||:new_value.num1,'Old Message:'||:old_value.num2||'.New Message:'||:new_value.num2);
elsif deleting then
insert into table (num1,num2) values('Old Message:'||:old_value.num1||'.New Message:'||:new_value.num1,'Old Message:'||:old_value.num2||'.New Message:'||:new_value.num2);
end if;
这个就是一个简单的对表的增删改的触发器。希望可以答到你的要求。
before insert or update or delete on table1
referencing new as new_value
old as old_value
for each row
begin
if insrting then
insert into table (num1,num2) values (:new_value.num1,:new_value.num2);
elsif updating then
insert into table (num1,num2) values('Old Message:'||:old_value.num1||'.New Message:'||:new_value.num1,'Old Message:'||:old_value.num2||'.New Message:'||:new_value.num2);
elsif deleting then
insert into table (num1,num2) values('Old Message:'||:old_value.num1||'.New Message:'||:new_value.num1,'Old Message:'||:old_value.num2||'.New Message:'||:new_value.num2);
end if;
end;
不好意思,,上面那个写错了。现在才是对的。