zoukankan      html  css  js  c++  java
  • 触发器简介

    触发器简单说明和NEW、OLD使用

    一、Oracle中的触发器分类:

    DML触发器(表),DDL触发器(模式),Instead of 触发器(视图)和数据库触发器(数据库)

    Oracle中使用:new和:old需要注意:

    1.必须是行级触发器,因为:new或者:old是当前触发表操作的当前行的新数据或者旧数据,所以必须在行级触发器中才能使用。否则编译时会出现错误。

    2.因为when条件只能跟行级触发器结合使用,所以在触发条件中使用:new或者:old的时候注意,只能直接写 old或者new,不能带符号”:”

    3.触发器使用操作

        insert触发操作 只有 :new
        delete触发操作 只有 :old
        update触发操作 都有。
        如果违反上述操作中随意使用:new或者:old不会在编译时报错误但是会发现使用这两个关键字无效。

    参考链接:https://blog.csdn.net/cyl937/article/details/8772695

    二、触发器组成:

            触发事件:引起触发器被触发的事件。 例如:DML语句(INSERT, UPDATE, DELETE语句对表或视图执行数据处理操作)、DDL语句(如CREATE、ALTER、DROP语句在数据库中创建、修改、删除模式对象)、数据库系统事件(如系统启动或退出、异常错误)、用户事件(如登录或退出数据库)。

            触发时间:即该TRIGGER 是在触发事件发生之前(BEFORE)还是之后(AFTER)触发,也就是触发事件和该TRIGGER 的操作顺序。

       触发操作:即该TRIGGER 被触发之后的目的和意图,正是触发器本身要做的事情。 例如:PL/SQL 块。

       触发对象:包括表、视图、模式、数据库。只有在这些对象上发生了符合触发条件的触发事件,才会执行触发操作。

       触发条件:由WHEN子句指定一个逻辑表达式。只有当该表达式的值为TRUE时,遇到触发事件才会自动执行触发器,使其执行触发操作。

       触发频率:说明触发器内定义的动作被执行的次数。即表级(STATEMENT)触发器和行级(ROW)触发器,前者是默认触发器且触发器只执行一次,后者使用时需要显式添加且对于受到该操作影响的每一行数据,触发器都单独执行一次。

  • 相关阅读:
    [译]HTML&CSS Lesson5: 定位
    Emscripten教程之入门指导
    html简单响应式滚动条置顶
    移动web开发问题和优化小结
    React+Webpack+ES6 兼容低版本浏览器(IE9)解决方案
    ECMAScript中有两种属性:数据属性和访问器属性。
    css写作建议和性能优化小结
    validator API文档
    HBase概念学习(九)HTablePool为何弃用?
    leetcode -day 15 Distinct Subsequences
  • 原文地址:https://www.cnblogs.com/s1-myblog/p/9164711.html
Copyright © 2011-2022 走看看