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
转载于:https://www.cnblogs.com/GtShare/p/7520685.html
oracle pl/sql 包相关推荐
- [强烈推荐]ORACLE PL/SQL编程详解之七:程序包的创建与应用(聪明在于学习,天才在于积累!)...
[强烈推荐]ORACLE PL/SQL编程详解之七: 程序包的创建与应用(聪明在于学习,天才在于积累!) --通过知识共享树立个人品牌. 继上七篇: [推荐]ORACLE P ...
- oracle pl/sql 程序设计 历史笔记整理
20131016 周三 oracle pl/sql 程序设计 第2章 创建并运行pl/sql代码 sqlplus yjkhecc/yjkhecc@10.85.23.92:1521/orcl 在java ...
- Oracle PL/SQL 程序设计读书笔记 - 第7章 使用数据
Oracle PL/SQL 程序设计读书笔记 - 第7章 使用数据 Oracle PL/SQL 程序设计读书笔记 - 第7章 使用数据 7.1 程序数据的命名 PL/SQL要求在给数据结构命名的时候应 ...
- Oracle PL/SQL 程序设计读书笔记 - 第14章 DML和事务管理
Oracle PL/SQL 程序设计读书笔记 - 第14章 DML和事务管理 Oracle PL/SQL 程序设计读书笔记 - 第14章 DML和事务管理 ACID原则:即一个事务具有原子性.一致性. ...
- ORACLE PL/SQL编程之六:把过程与函数说透(穷追猛打,把根儿都拔起!)
原文:ORACLE PL/SQL编程之六:把过程与函数说透(穷追猛打,把根儿都拔起!) ORACLE PL/SQL编程之六: 把过程与函数说透(穷追猛打,把根儿都拔起!) 继上篇:ORACLE P ...
- [顶]ORACLE PL/SQL编程详解之二:PL/SQL块结构和组成元素(为山九仞,岂一日之功)...
[顶]ORACLE PL/SQL编程详解之二:PL/SQL块结构和组成元素(为山九仞,岂一日之功) 原文:[顶]ORACLE PL/SQL编程详解之二:PL/SQL块结构和组成元素(为山九仞,岂一日之 ...
- [推荐]ORACLE PL/SQL编程之五:异常错误处理(知已知彼、百战不殆)
原文:[推荐]ORACLE PL/SQL编程之五:异常错误处理(知已知彼.百战不殆) [推荐]ORACLE PL/SQL编程之五: 异常错误处理(知已知彼.百战不殆) 继上三篇:ORACLE PL/S ...
- Oracle PL/SQL进阶
Oracle PL/SQL进阶 控制结构 在任何计算机语言(c,java,c#,c++)都有各种控制语句(条件语句,循环语句,顺序控制结构..)在pl/sql中也存在这样的控制结构. 条件分支语句 p ...
- Oracle PL/SQL基础知识
Oracle PL/SQL基础知识 过程(存储过程) 过程用于执行特定的操作,当建立过程时,既可以指定输入参数(in),也可以指定输出参数(out).通过在过程中使用输入参数,可以将数据传递到执行部分 ...
最新文章
- 每日一皮:资深程序员调试代码的样子...
- linux inode详解
- android byte[]与图片的转换
- 什么是MCU里应尽量遵循的寄存器谨慎赋值法?
- MATLAB基础教程(2) 语言基础知识
- spark sql 优化心得
- python中mean的用法_python 的numpy库中的mean()函数用法介绍
- 【收藏】RPM包制作和spec文件详解
- c语言 删除程序注释,C/C++ 源文件删除注释代码
- 代码积累与编程能力哪个更重要
- DCEP | 农行将上线数字人民币刷脸支付
- 百度竞价常用术语总结
- 用命令提示符使用MySQL
- 硬盘变成Raw格式 与 移动硬盘报I/O错误问题
- 微信图片去除马赛克_微信怎么把图片加上马赛克_微信如何将照片打码的方法介绍_3DM手游...
- OpenStack之服务端口号
- 查询计算机系教师开设的所有课程的课程号和课程名
- python谱聚类算法_Python机器学习高级算法!谱聚类(Spectal Clustering)算法分析和实例详解...
- sql盲注 各种方法拿到 管理员账户和密码
- mysql表名可以用中文么_[急]MySQL中建表不能使用中文字段吗?解决思路
热门文章
- CCIE-LAB-第八篇-OSPF前缀压制+MTU+路由汇总
- 【LeetCode - 32】最长有效括号
- 【CodeForces - 289C】Polo the Penguin and Strings (水题,字符串,思维构造,有坑)
- 【CodeForces - 1051A】Vasya And Password (构造,水题)
- 百度顶会论文复现(4):飞桨API详解
- 怎么做蒙特卡洛计算npv_PowerBI非标准日历下的同比环比计算,你知道怎么做吗?...
- 建房子 最安全图纸_妄想山海初期该怎么办?砍树狩猎建房子,还能拆别人的房子...
- 局域网服务器文件夹隐藏,局域网服务器共享文件夹访问权限设置win7隐藏无权限共享文件夹方法.docx...
- java工厂模式 uml_深入浅出设计模式-简单工厂模式
- Java操作——获取文件扩展名,去掉文件扩展名