zoukankan      html  css  js  c++  java
  • Oracle 数据库数据结构(包括存储过程,函数,表,触发器等)版本控制器

    --创建A_Ver_Control系统版本控制表
    create table A_Ver_Control 
    (
       iAutoID            VARCHAR2(40) not null,
       event              VARCHAR2(20),
       user_name          VARCHAR2(10),
       owner              VARCHAR2(10),
       obj_name           VARCHAR2(500),
       obj_ddl            clob,
       obj_type           VARCHAR2(10),
       constraint PK_A_Ver_Control primary key (iAutoID)
    );
    --创建A_Ver_Control系统版本控制表字段描述
    comment on table A_Ver_Control is
    '系统版本控制';
    comment on column A_Ver_Control.event is
    '事件';
    comment on column A_Ver_Control.user_name is
    '用户';
    comment on column A_Ver_Control.owner is
    '所有者';
    comment on column A_Ver_Control.obj_name is
    '对象名';
    comment on column A_Ver_Control.obj_ddl is
    '对象ddl';
    comment on column A_Ver_Control.obj_type is
    '对象类型';
    
    --创建触发器,当新增A_Ver_Control表数据时,SYS_GUID()自动生成32位唯一键iAutoID
    create trigger TRI_A_VER_CONTROL_ID
      before insert on A_VER_CONTROL
      for each row
    begin
      select SYS_GUID() into :NEW.IAUTOID from DUAL;
    end;
    
    --创建触发器,对MP用户的SCHEMA进行监听,在修改数据库结构的时候,把DDL写入表中
    create or replace trigger TR_DDL
      after DDL on MP.SCHEMA
    begin
      
      insert into A_VER_CONTROL
        (EVENT, USER_NAME, OWNER, OBJ_NAME, OBJ_TYPE, OBJ_DDL)
        select ORA_SYSEVENT, ORA_LOGIN_USER, ORA_DICT_OBJ_OWNER, ORA_DICT_OBJ_NAME, ORA_DICT_OBJ_TYPE, DBMS_METADATA.GET_DDL(ORA_DICT_OBJ_TYPE, ORA_DICT_OBJ_NAME) from DUAL;
    exception
      when others then
        null;
        
    end;

    参考源:https://www.cnblogs.com/KevinMO/p/10287171.html

  • 相关阅读:
    你不能忽视的HTML代码2精编篇
    C#中析构函数和命名空间的妙用
    值类型和引用类型及其它
    这些年我收集的GDI+代码2
    C#中超级好用的字符串
    Javascript的压缩优化
    Spring和hibernate多个数据源的事务管理
    android中Handler,Looper,Message的开发答疑
    Spring引用Tomcat的 JTA事务
    js禁止用户刷新页面
  • 原文地址:https://www.cnblogs.com/mwd-banbo/p/12031657.html
Copyright © 2011-2022 走看看