• oracle系列4:触发器


    一、简介:

    触发器是与表直接关联的特殊存储过程,与表的关系密切,用于保护表中的数据。当有操作影响到触发器保护的数据时,触发器将自动执行。

    二、触发器的三种类型:

    1、DML触发器:当数据库中发生DML事件时(insert,select,update,delete),将调用触发器。

    2、替代触发器:也称视图触发器,当视图发生DML事件时,将调用触发器。

    3、系统触发器:当数据库发生DDL事件(启动或关闭数据库,create,alter,drop)时,将调用触发器。

    三、使用触发器:

    1、DML触发器

    // 1、创建一个表
    create table tableName(
        id number
    );
    
    
    // 2、创建insert的DML触发器
    create or replace trigger trigName
        after insert on tableName for each row
    declare
        str char(100):='test';
    begin
        dbms_output.put_line(str);
    end;
    
    
    // 3、此时向tableName表中插入一条数据,控制台会打印test
    insert into tableName values(1001);

    2、替代(视图)触发器

    // 1、创建一个视图
    create view viewName
    as
    select * from tableName
    
    
    // 2、创建insert的视图触发器
    create trigger trigName
        instead of insert on tableName for each row
    declare
        str char(100):='test';
    begin
        dbms_output.put_line(str);
    end;
    
    
    // 3、此时向viewName视图中插入一条数据,控制台会打印test
    insert into viewName values(1001);

    3、系统触发器

    // 1、创建一个表
    create table tableName(
        id number
    );
    
    
    // 2、创建系统触发器,当用户删除数据库对象(表、视图)前,控制台打印test
    create or replace trigger trigName
        before drop on system.schema
    declare
        str char(100):='test';
    begin
        dbms_output.put_line(str);
    end;
    
    
    // 3、此时删除tableName表,控制台会打印test
    drop table tableName;

    四、启用和禁用触发器:

    // 1、启用trigName触发器
    alter trigger trigName enable;
    
    // 2、禁用trigName触发器
    alter trigger trigName disable;
    
    // 3、启用tableName表中所有的触发器
    alter table<tableName> enable all triggers;
    
    // 4、禁用tableName表中所有的触发器
    alter table<tableName> disable all triggers;
    
    // 5、删除trigName触发器
    drop trigger trigName;
  • 相关阅读:
    ASP.NET程序中常用的三十三种代码[1]
    window.showModalDialog使用手册
    ASP函数详解
    ASP.NET程序中常用的三十三种代码[2]
    Session对象的清空
    Css不朽的经典—3D文字特效
    IIS6 ASP 0251超过响应缓冲区限制错误的解决方法
    ASP.NET程序中常用的三十三种代码[3]
    平面设计常用制作尺寸
    Work with a file upload and download controls2
  • 原文地址:https://www.cnblogs.com/XueTing/p/13872409.html
Copyright © 2020-2023  润新知