zoukankan      html  css  js  c++  java
  • oracle利用触发器实现将ddl操作存入数据表中

    先创建DDL数据库事件操作表:

    create table ddl_event(
    sys_time date primary key,
    event_name varchar2(20),
    user_name varchar2(20),
    obj_type varchar2(20),
    obj_name varchar2(20))

    然后建立触发器(系统事件触发器):

    create or replace trigger tr_ddl 
    after ddl on schema
    declare
            -- local...
    begin
       insert into ddl_event values(sysdate,ora_sysevent,ora_login_user,ora_dict_obj_type,ora_dict_obj_name);
    end

    在oracle数据库中:

    sysdate是date类型当前时间,systimestamp是timestamp类型的当前时间

    ora_sysevent是系统事件,DDL事件,例如create,alter,drop这些操作

    ora_login_user 是当前登录系统的用户

    ora_dict_obj_type是操作的数据对象类型,例如表table,视图view,触发器trigger,存储过程procedure。

    ora_dict_obj_name是操作数据对象的名称,例如表名,视图名,触发器名等等。

  • 相关阅读:
    设计模式-观察者模式
    ps一寸照的编辑
    ps剪切蒙版的使用
    ps扣头发
    mysql索引优化
    ES6 $ ES5
    sping-mybatis集成
    多线程--volatile
    eclipse.exe打开是报错
    Spring Aop 详解二
  • 原文地址:https://www.cnblogs.com/qinglangyijiu/p/8524521.html
Copyright © 2011-2022 走看看