, v_policy_name VARCHAR2
)
IS
v_temp varchar2(30);
begin
null;
end temp_handler;
--这里的存储过程有点特殊,它必须带v_object_schema VARCHAR2, v_object_name VARCHAR2, v_policy_name VARCHAR2这三个参数才行,如果直接写一个一般的存储过程就会出错的.在policy中调用存储过程就这样 写
BEGIN
SYS.DBMS_FGA.ADD_POLICY (
object_schema => 'ARWEN'
,object_name => 'TEMP'
,policy_name => 'FGA_TEMP'
,audit_column => eno,ename
,handler_schema =>'ARWEN' --注意此处的用户只能是创建此policy的用户,如果是其他用户名会出错的
,handler_module => 'TEMP_HANDLER'
,enable => TRUE
,statement_types =>'SELECT,INSERT,UPDATE,DELETE'
,audit_trail => SYS.DBMS_FGA.DB+SYS.DBMS_FGA.EXTENDED
,audit_column_opts => SYS.DBMS_FGA.ALL_COLUMNS)
END;
摘自 聪明的笨蛋