zoukankan      html  css  js  c++  java
  • Oracle触发器

    触发器概念

    数据库触发器是一个与表相关的,存储的PL/SQL程序,没当一个指定的数据操作(insert, update, delete

    在指定的表中发出时。oracle自动的执行触发器中定义的语句序列

    第一个触发器:每当成功插入插入新员工后,自动打印成功插入新员工

       create trigger saynewemp 

       after  insert 

       on  emp

       declare

       begin

          dbm_output.put_line('成功插入新员工') 

        end

    平时用来测试的异常处理,我们都是通过dbms_output.put_line来输出异常信息,但是在实际的应用中,需要把异常信息返回给调用的客户端。
    其实 RAISE_APPLICATION_ERROR 是将应用程序专有的错误从服务器端转达到客户端应用程序

    RAISE_APPLICATION_ERROR 的声明:

    PROCEDURE RAISE_APPLICATION_ERROR( error_number_in IN NUMBER, error_msg_in IN VARCHAR2);
    里面的错误代码和内容,都是自定义的。说明是自定义,当然就不是系统中已经命名存在的错误类别,是属于一种自定义事务错误类型,才调用此函数。error_number_in 之容许从 -20000 到 -20999 之间,这样就不会与 ORACLE 的任何错误代码发生冲突

    触发器的语法

    crrate  [ or replace] trigger  触发器名

    {before|after}

    {delete|insert|update[列名]}

    on 表名

    [declare]

    【 for   each  now[when (条件)]】

       plsql块

    [declare] 用于声明新变量

    DECLARE
       V_OP_TYPE varchar2(20);
    BEGIN
       IF deleting THEN
          V_OP_TYPE := 'DELETE';
       ELSIF updating THEN
          V_OP_TYPE := 'UPDATE';
       END IF;

      INSERT INTO R_CAPITALH(
      op_type     ,
      id         ,
     

    触发器分为语句级触发器和行级触发器

    语句级触发器针对表

    行级触发器针对行

     

  • 相关阅读:
    蛤圈不能圈一切---逐梦蛤蛤圈
    Unix培训基础
    java培训基础
    数据库基础
    Python生成requirements.txt方法
    免费高质量代理IP
    lxml库的xpath的使用
    python自带GUI库tkinter教程,全网最全最好
    selenium博客
    Linux-Centos下selenium部署
  • 原文地址:https://www.cnblogs.com/libaowen609/p/12819693.html
Copyright © 2011-2022 走看看