Oracle中的包的使用

Oracle中包的使用

使用程序包主要是为了实现程序的模块化,程序包可以将相关的存储过程,函数,变量,常量和游标等PL/SQL程序组合在一起,通过这种方式可以构供程序人员重用的代码库。另外,当首次调用程序包中的存储过程或函数等元素是,Oracle会将整个程序包调入内存,在下次调用程序包中的元素时,Oracle就可以之际从内存中读取,从而提程序的运行效率。

程序包主要包括两个部分:包规范和包体。其中,

  • 包规范用于列出包中可用的存储过程、函数和游标等元素条目(不含这些元素的实际代码),这些条目属于公有项目,可以供所有的数据库用户访问。

  • 包体中则包含了元素的实际代码,同时,也可以在包体中创建规范中没有提到的项目,那么这些项目都属于私有项目,只能在包体中使用。

创建包规范

创建包规范需要使用CREATE PACKAGE 语句,其简要语法如下

CREATE [OR REPLACE] PACKAGE package_name
     {IS|AS}
     package_specification;
     END package_name;
 - package_name 创建的包名
 - package_specification 用于列出用户可以使用的公共存储过程、函数、类型和对象

创建包体

创建包体需要使用CREATE PACKAGE BODY语句,并且在创建时需要指定已创建的包,其简要语法如下:

CREATE [OR REPLACE] PACKAGE BODY package_name
{IS|AS}
package_body
END package_name;

实例

具体实例如下:
1.创建包规范

CREATE OR REPLACE PACKAGE common_pkg IS
FUNCTION tax(value IN NUMBER) RETURN NUMBER;
END common_pkg;

2.创建包体

CREATE OR REPLACE PACKAGE BODY common_pkg IS
FUNCTION tax(value IN NUMBER) RETURN NUMBER
IS
rate NUMBER:=0.08;
BEGIN 
RETURN (value*rate);
END tax;
END common_pkg;

调用包中的函数,

SELECT common_pkg.tax(sal) FROM emp;
  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 3
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值