• oracle触发器——ddl触发器


    什么是ddl(data definition language),说白了就是我们经常用的create、alter和drop这些数据定义语句。

    创建ddl触发器

    请编写一个触发器,可以记录某个用户进行的ddl操作

    基本语法:

     
     

    create or replace trigger 触发器名

    after ddl on 方案名.schema    --如:scott.schema

    begin

    //执行语句

    end

     

     

     

     

     

     

     

     

     

    ①为了记录系统所发生的ddl事件,应该建立一张表(my_ddl_event)用力存相关信息,注意需要使用system用户登录conn system/manager as sysdba

    字段名

    字段类型

    event

    varchar2(20)

    username

    varchar2(20)

    time

    date

     

     
       

     

     

     

     

     

    SQL> create table my_ddl_event (event varchar2(20),username varchar2(20),time date);

    ②创建该触发器tr_ddl

    create or replace trigger tri9

    after ddl on scott.schema

    begin

      insert into my_ddl_event values(ora_sysevent,ora_login_user,sysdate);

    end;

    ③测试触发器是否OK

     

    在oracle中,dml语句需要手动提交(如果没有手动提交,当你退出控制台的时候,oracle会自动提交),ddl语句是自动提交的。

  • 相关阅读:
    exp迁移测试库10.2.0.5
    DG_Check检测
    DG Switch over
    CPU查询
    记录数据库中,段大小的数据增长情况
    C++ 多态
    java反射
    git的基本概念
    实现MySQL的Replication
    网页只允许中国用户访问
  • 原文地址:https://www.cnblogs.com/fanweisheng/p/11115657.html
Copyright © 2020-2023  润新知