会计考友 发表于 2012-8-4 14:06:19

oracle认证应用技术学习资料汇总6

记录oracle数据库库表变动
触发器:
  CREATE OR REPLACE TRIGGER tr_trace_ddl
  AFTER DDL ON DATABASE
  DECLARE
  sql_text ora_name_list_t;
  state_sql ddl$trace.ddl_sql%TYPE;
  BEGIN
  FOR i IN 1..ora_sql_txt(sql_text) LOOP
  state_sql := state_sql||sql_text(i);
  END LOOP;
  INSERT INTO ddl$trace(login_user,ddl_time,ip_address,audsid,
  schema_user,schema_object,ddl_sql)
  valueS(ora_login_user,SYSDATE,userenv(’SESSIONID’),
  sys_context(’USERENV’,’IP_ADDRESS’),
  ora_dict_obj_owner,ora_dict_obj_name,state_sql);
  --EXCEPTION
  --WHEN OTHERS THEN
  --sp_write_log(’Capture DDL Excption:’||SQLERRM);
  END tr_trace_ddl;
页: [1]
查看完整版本: oracle认证应用技术学习资料汇总6