ITPub博客

首页 > 数据库 > Oracle > DDL TRIGGER

DDL TRIGGER

Oracle 作者:shihfa 时间:2016-01-24 22:30:32 0 删除 编辑
create fengsh.table t_operlog(
OPERATE     VARCHAR2(30),
OBJ_OWNER   VARCHAR2(30),
OBJ_NAME    VARCHAR2(60), 
OBJ_TYPE    VARCHAR2(30),
OPERATE_USER VARCHAR2(30),
OPERATE_TIME DATE,
IP_ADDR      VARCHAR2(16)
);

CREATE OR REPLACE TRIGGER DDL_TRIGER_CRM
  AFTER DDL ON DATABASE
BEGIN
  IF (ORA_DICT_OBJ_NAME NOT LIKE 'ORA_TEMP%' AND
     -- ORA_DICT_OBJ_NAME NOT LIKE 'T%IN' AND
     --ORA_DICT_OBJ_NAME NOT LIKE 'SYS_TEMP%' AND
     ORA_DICT_OBJ_NAME NOT IN ('TD_S_WORK_LOG', 'TD_S_ROUTE_LOG')) THEN
    INSERT INTO fengsh.T_OPERLOG
      (OPERATE,
       OBJ_OWNER,
       OBJ_NAME,
       OBJ_TYPE,
       OPERATE_USER,
       OPERATE_TIME,
       IP_ADDR)
    VALUES
      (ORA_SYSEVENT,
       ORA_DICT_OBJ_OWNER,
       ORA_DICT_OBJ_NAME,
       ORA_DICT_OBJ_TYPE,
       ORA_LOGIN_USER,
       SYSDATE,
       SYS_CONTEXT('USERENV', 'ip_address'));
  END IF;
END;

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/26179376/viewspace-1981712/,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论

注册时间:2013-11-05

  • 博文量
    62
  • 访问量
    55201