zoukankan      html  css  js  c++  java
  • PLSQL里面的 程序包,触发器 ,以及游标的后续

       1.  程序包  (类比于java中接口的实现)

          使用程序包的好处:
            1-1, 更容易的增强和维护代码
           1- 2, 最小化代码重新编译的需求

      

    CREATE OR REPLACE PACKAGE JIA IS    --程序包
    
      PROCEDURE PLUS(A IN NUMBER, B IN NUMBER);
      FUNCTION DIVIDE(A IN NUMBER, B IN NUMBER) RETURN NUMBER;
    
    END JIA;
    

        

    CREATE OR REPLACE PACKAGE BODY jia IS      --程序体
    
      PROCEDURE PLUS(A IN NUMBER, B IN NUMBER) AS
      BEGIN
        P(A + B);
      END;
    
      FUNCTION DIVIDE(A IN NUMBER, B IN NUMBER) RETURN NUMBER AS
        C NUMBER;
      BEGIN
        C := A / B;
        RETURN C;
      EXCEPTION
        WHEN ZERO_DIVIDE THEN
          P('除数不能为0');
      END;
    END jia;
    
    declare      --test-window
     
     i NUMBER;
    begin
       jia.PLUS(2,3);
       i:= jia.DIVIDE(5,3) ;
       p(i);
    end;
    

     2.触发器

      触发器是一种特殊的存储过程
        insert delete update
                2-1. 语法:
            CREATE OR REPLACE TRIGGER 触发器名
              AFTER[BEFORE] 执行的操作(用OR运算符可以并联多个操作) ON 表名[OF 列名]
              [FOR EACH ROW]--加上这行代码表示语句级, 只要有一行记录受到影响, 就会触动触发器
            BEGIN
              -- 需要执行的代码
            END;
       2-2. 触发器的类型:
            语句级触发器--不管一条sql语句操作了多少行, 触发器只触发一次
            行级触发器--操作的过程影响了多少行, 就触发多少次触发器    [FOR EACH ROW]   
                伪记录变量:
                    :OLD
                    :NEW

    3.游标

        游标的种类:
         3-1.   静态游标
                隐式游标

            在执行增删改查 select :(查询操作仅在返回单行记录时)的操作的时候,
                    可以用SQL关键字获取到一个隐式游标
                    在隐式游标中, 以上四个属性分别代表的意思是:
                        1, %FOUND-->执行的操作是否成功
                        2, %NOTFOUND-->与FOUND相反
                        3, %ROWCOUNT-->执行操作所影响的行数
                        4, %ISOPEN--判断游标当前的状态

      3-2.显式游标
                    使用时必须明确的声明游标的类型, 以及关联相关的查询语句
                    显式游标完全由程序员来控制

  • 相关阅读:
    一个奇怪的网页bug 竟然是局域网DNS搞的鬼
    繁体系统下如何快速将简体安装文件乱码恢复正常?
    Ubuntu16.04LTS国内快速源
    bitnami redmine版本由2.3.1升级至3.2.2过程
    Ubuntu1404安装gogs过程
    AJAX
    jQuery 事件解释
    安装phpMyadmi报错
    总结二
    总结
  • 原文地址:https://www.cnblogs.com/zuo72/p/8082516.html
Copyright © 2011-2022 走看看