• oracle中触发器


    触发器的类型有:

      触发器类型:           
      1、 语句触发器

      2、 行触发器

      3、INSTEAD OF触发

      4、 系统条件触发器

      5、 用户事件触发器

    语句级触发器.(语句级触发器对每个DML语句执行一次)

    是在表上或者某些情况下的视图上执行的特定语句或者语句组上的触发器。能够与INSERT、UPDATE、DELETE或者组合上进行关联。但是无论使用什么样的组合,各个语句触发器都只会针对指定语句激活一次。比如,无论update多少行,也只会调用一次update语句触发器。

    代码

    create or replace trigger tri_test
      after insert or update or delete on test
      begin
             dbms_output.put_line('dddd');
    end;

    dml是能够批量处理的 所以 :old :new是不允许在这里用的  只有某一个行记录才有

    行级触发器.(行级触发器对DML语句影响的每个行执行一次)
     create or replace trigger tri_test--创建触发器
      before insert or update of sid on test
      for each row--触发每一行
      begin
      dbms_output.put_line(:new.id);  --old 只有删除与修改的时候有

      end;
    instead of触发器
    (此触发器是在视图上而不是在表上定义的触发器,它是用来替换所使用实际语句的触发器.)不太懂

    模式触发器不太懂

      可以在模式级的操作上建立触发器.

      实例如下: 

          create or replace trigger log_drop_obj
      after drop on schema
      begin
      insert into .....
      end;

    数据库级触发器.

      可以创建在数据库事件上的触发器,包括关闭,启动,错误,登录等.这些事件都是实例范围的,不与特定的表或视图关联

    create or replace trigger trig_name
      after startup on database
      begin
      ...........
      end;

    CREATE OR REPLACE TRIGGER DBT_LOGON

    AFTER LOGON

    ON DATABASE

    BEGIN

  • 相关阅读:
    理解Objective-C Runtime (六)super
    理解Objective-C Runtime (五)协议与分类
    理解Objective-C Runtime(四)Method Swizzling
    理解Objective-C Runtime(三)消息转发机制
    Objective-C Runtime(二)消息传递机制
    matlab数学实验--第一章
    Python之json模块
    Python之os模块和sys模块
    Python之小练习
    vuedevtools 离线安装
  • 原文地址:https://www.cnblogs.com/liaomin416100569/p/9331697.html
Copyright © 2020-2023  润新知