zoukankan      html  css  js  c++  java
  • oracle pl/sql 包

    包用于在逻辑上组合过程和函数,它由包规范和包体两部分组成。
    1)、我们可以使用create package命令来创建包,如:
    i、创建一个包sp_package
    ii、声明该包有一个过程update_sal
    iii、声明该包有一个函数annual_income

    --声明该包有一个存储过程和一个函数
    create package sp_package is
    procedure update_sal(name varchar2, newsal number);
    function annual_income(name varchar2) return number;
    end;

      

    2)、建立包体可以使用create package body命令
    给包sp_package实现包体

    复制代码
    CREATE OR REPLACE PACKAGE BODY SP_PACKAGE IS
    --存储过程
    PROCEDURE UPDATE_SAL(NAME VARCHAR2, NEWSAL NUMBER) IS
    BEGIN
    UPDATE EMP SET SAL = NEWSAL WHERE ENAME = NAME;
    COMMIT;
    END;

    --函数
    FUNCTION ANNUAL_INCOME(NAME VARCHAR2) RETURN NUMBER IS
    ANNUAL_SALARY NUMBER;
    BEGIN
    SELECT SAL * 12 + NVL(COMM, 0) INTO ANNUAL_SALARY FROM EMP WHERE ENAME = NAME;
    RETURN ANNUAL_SALARY;
    END;
    END;
    /
    复制代码

        

    3)、如何调用包的过程或是函数
    当调用包的过程或是函数时,在过程和函数前需要带有包名,如果要访问其它方案的包,还需要在包名前加方案名。如:

    --调用存储过程
    SQL> exec sp_package.update_sal('SCOTT', 8888);
    --调用函数
    var income NUMBER;
    CALL sp_package.ANNUAL_INCOME('SCOTT') INTO:income;
    print income;

    参见:http://www.cnblogs.com/linjiqin/archive/2012/02/24/2367167.html

  • 相关阅读:
    修改CentOS默认yum源为国内镜像
    linux下安装部署ansible
    Centos7 下安装部署zabbix-agent客户端
    Centos7下安装部署zabbix
    Jumpserver文档链接
    分布式部署文档
    分布式部署文档
    分布式部署文档
    分布式部署文档
    分布式部署文档
  • 原文地址:https://www.cnblogs.com/GtShare/p/7520685.html
Copyright © 2011-2022 走看看