• oracle之触发器


    触发器可以看做一种“特殊”的存储过程,它定义了一些与数据库相关事件(如INSERT,UPDATE,CREATE等事件)发生时应执行的“功能代码块”,常用与管理复杂的完整性约束,或监控对表的修改,甚至可以实现对数据的审计功能。
    触发器语法格式:

    create [or replace] trigger tri_name
        [before | after | instead of] tri_event
        on table_name | view_name | user_name | db_name
          [for each row] [where tri_condition]
    begin
        plsql_sentences;
    end tri_name;
    /
    

    根据触发器的触发事件和触发器的执行情况,将Oracle的触发器分为以下5中:

    • 行级触发器
    • 语句触发器
    • 替换触发器
    • 用户事件触发器
    • 系统事件触发器

    语句触发器:
    实例:使用触发器,在scott模式下针对dept表的各种操作进行监控,为此首先需要创建一个日志表dept_log,它用于存储对dept表的各种数据操作信息,比如操作种类(插入,修改..)、操作时间等。

    1 创建dept_log
    create table dept_log(
        operate_tag varchar2(10),
        operate_time date
    )
    
    2 创建触发器
    create or replace trigger tri_dept
     before insert or update or delete on dept
    declare var_tag varchar2(10);
    begin
      if inserting than var_tag := '插入';
      elsif updating than var_tag := '修改';
      elsif deleting than var_tag := '删除';
      end if;
      insert into dept_log values(var_tag,sysdate);
    end tri_dept;
    /
    

    未完----

    参考
    《Oracle从入门到精通》--明日科技 编著

  • 相关阅读:
    星辉信息odoo教程
    星辉odoo教程
    Python 语言简介与入门
    DVWA漏洞演练平台
    植物大战僵尸:分析植物的攻击速度
    植物大战僵尸:寻找召唤僵尸关键CALL
    植物大战僵尸:查找植物叠加种植CALL
    植物大战僵尸:植物栏无冷却的找法
    植物大战僵尸:寻找向日葵的生产速度
    dpwwn: 1 Vulnhub Walkthrough
  • 原文地址:https://www.cnblogs.com/westward/p/7145204.html
Copyright © 2020-2023  润新知