zoukankan      html  css  js  c++  java
  • Oracle触发器的语法详解

    触发器是一种特殊的存储过程,下面是触发器的详细说明:

      ORACLE 触发器

      ORACLE产生数据库触发器的语法为:

      create [or replace] trigger 触发器名 触发时间 触发事件

      on 表名

      [for each row]

      pl/sql 语句

      其中:

      触发器名:触发器对象的名称。由于触发器是数据库自动执行 的,因此该名称只是一个名称,没有实质的用途。

      触发时间:指明触发器何时执行,该值可取:

      before---表示在数据库动作之前触发器执行;

      after---表示在数据库动作之后出发器执行。

      触发事件:指明哪些数据库动作会触发此触发器:

      insert:数据库插入会触发此触发器;

      update:数据库修改会触发此触发器;

      delete:数据库删除会触发此触发器。

      表 名:数据库触发器所在的表。

      for each row:对表的每一行触发器执行一次。如果没有这一选项,则只对整个表执行一次。

      举例:下面的触发器在更新表auths之前触发,目的是不允许在周末修改表:

      create trigger auth_secure

      before insert or update or delete file://对整表更新前触发

      on auths

      begin

      if(to_char(sysdate,'DY')='SUN'

      RAISE_APPLICATION_ERROR(-20600,'不能在周末修改表auths');

      ( RAISE_APPLICATION_ERROR是函数,括弧内的,第一参数范围在-20000~20999之间,第二个

      参数是字符串,大小在2k,超过的话,系统自动截断)

      end if;

      end

    原文出自【比特网】,转载请保留原文链接:http://soft.chinabyte.com/database/394/11720894.shtml

  • 相关阅读:
    SQL Server OPENQUERY使用
    VS2013程序打包报 ISEXP : error -****: An error occurred streaming
    IIS重新注册
    c#之反射(Reflection)
    c#之Lambda表达式
    c#之委托事件(DelegateEvent)
    c#之委托详解(Delegate)
    git将文件托管到github上遇到的问题
    c#之泛型详解(Generic)
    linux下操作memcache的操作命令
  • 原文地址:https://www.cnblogs.com/soundcode/p/1924360.html
Copyright © 2011-2022 走看看