包用于在逻辑上组合过程和函数,它由包规范和包体两部分组成。
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

转载于:https://www.cnblogs.com/GtShare/p/7520685.html

oracle pl/sql 包相关推荐

  1. [强烈推荐]ORACLE PL/SQL编程详解之七:程序包的创建与应用(聪明在于学习,天才在于积累!)...

    [强烈推荐]ORACLE PL/SQL编程详解之七: 程序包的创建与应用(聪明在于学习,天才在于积累!) --通过知识共享树立个人品牌.   继上七篇:            [推荐]ORACLE P ...

  2. oracle pl/sql 程序设计 历史笔记整理

    20131016 周三 oracle pl/sql 程序设计 第2章 创建并运行pl/sql代码 sqlplus yjkhecc/yjkhecc@10.85.23.92:1521/orcl 在java ...

  3. Oracle PL/SQL 程序设计读书笔记 - 第7章 使用数据

    Oracle PL/SQL 程序设计读书笔记 - 第7章 使用数据 Oracle PL/SQL 程序设计读书笔记 - 第7章 使用数据 7.1 程序数据的命名 PL/SQL要求在给数据结构命名的时候应 ...

  4. Oracle PL/SQL 程序设计读书笔记 - 第14章 DML和事务管理

    Oracle PL/SQL 程序设计读书笔记 - 第14章 DML和事务管理 Oracle PL/SQL 程序设计读书笔记 - 第14章 DML和事务管理 ACID原则:即一个事务具有原子性.一致性. ...

  5. ORACLE PL/SQL编程之六:把过程与函数说透(穷追猛打,把根儿都拔起!)

    原文:ORACLE PL/SQL编程之六:把过程与函数说透(穷追猛打,把根儿都拔起!) ORACLE PL/SQL编程之六: 把过程与函数说透(穷追猛打,把根儿都拔起!)   继上篇:ORACLE P ...

  6. [顶]ORACLE PL/SQL编程详解之二:PL/SQL块结构和组成元素(为山九仞,岂一日之功)...

    [顶]ORACLE PL/SQL编程详解之二:PL/SQL块结构和组成元素(为山九仞,岂一日之功) 原文:[顶]ORACLE PL/SQL编程详解之二:PL/SQL块结构和组成元素(为山九仞,岂一日之 ...

  7. [推荐]ORACLE PL/SQL编程之五:异常错误处理(知已知彼、百战不殆)

    原文:[推荐]ORACLE PL/SQL编程之五:异常错误处理(知已知彼.百战不殆) [推荐]ORACLE PL/SQL编程之五: 异常错误处理(知已知彼.百战不殆) 继上三篇:ORACLE PL/S ...

  8. Oracle PL/SQL进阶

    Oracle PL/SQL进阶 控制结构 在任何计算机语言(c,java,c#,c++)都有各种控制语句(条件语句,循环语句,顺序控制结构..)在pl/sql中也存在这样的控制结构. 条件分支语句 p ...

  9. Oracle PL/SQL基础知识

    Oracle PL/SQL基础知识 过程(存储过程) 过程用于执行特定的操作,当建立过程时,既可以指定输入参数(in),也可以指定输出参数(out).通过在过程中使用输入参数,可以将数据传递到执行部分 ...

最新文章

  1. 每日一皮:资深程序员调试代码的样子...
  2. linux inode详解
  3. android byte[]与图片的转换
  4. 什么是MCU里应尽量遵循的寄存器谨慎赋值法?
  5. MATLAB基础教程(2) 语言基础知识
  6. spark sql 优化心得
  7. python中mean的用法_python 的numpy库中的mean()函数用法介绍
  8. 【收藏】RPM包制作和spec文件详解
  9. c语言 删除程序注释,C/C++ 源文件删除注释代码
  10. 代码积累与编程能力哪个更重要
  11. DCEP | 农行将上线数字人民币刷脸支付
  12. 百度竞价常用术语总结
  13. 用命令提示符使用MySQL
  14. 硬盘变成Raw格式 与 移动硬盘报I/O错误问题
  15. 微信图片去除马赛克_微信怎么把图片加上马赛克_微信如何将照片打码的方法介绍_3DM手游...
  16. OpenStack之服务端口号
  17. 查询计算机系教师开设的所有课程的课程号和课程名
  18. python谱聚类算法_Python机器学习高级算法!谱聚类(Spectal Clustering)算法分析和实例详解...
  19. sql盲注 各种方法拿到 管理员账户和密码
  20. mysql表名可以用中文么_[急]MySQL中建表不能使用中文字段吗?解决思路

热门文章

  1. CCIE-LAB-第八篇-OSPF前缀压制+MTU+路由汇总
  2. 【LeetCode - 32】最长有效括号
  3. 【CodeForces - 289C】Polo the Penguin and Strings (水题,字符串,思维构造,有坑)
  4. 【CodeForces - 1051A】Vasya And Password (构造,水题)
  5. 百度顶会论文复现(4):飞桨API详解
  6. 怎么做蒙特卡洛计算npv_PowerBI非标准日历下的同比环比计算,你知道怎么做吗?...
  7. 建房子 最安全图纸_妄想山海初期该怎么办?砍树狩猎建房子,还能拆别人的房子...
  8. 局域网服务器文件夹隐藏,局域网服务器共享文件夹访问权限设置win7隐藏无权限共享文件夹方法.docx...
  9. java工厂模式 uml_深入浅出设计模式-简单工厂模式
  10. Java操作——获取文件扩展名,去掉文件扩展名