oracle 程序包的理解

本文介绍了PL/SQL程序包的概念及其组成部分,包括包说明与包主体。解析了程序包如何通过公有与私有元素实现信息隐藏,以及其带来的模块化、简化设计和提高效率等优点。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

程序包的简介


程序包-package-包 是一组相关过程、函数、变量、常量和游标的PL/SQL程序设计元素的组合,作为一个完整的单元存储在数据库中,用名称来标识包。


包中的程序范围公用元素和私用元素两种,它们的区别是它们允许访问的程序范围不同,公用元素不仅可以被包中的函数、过程所调用,也可以被包外的PL/SQL程序访问,而私有元素只能被包内的函数和过程访问。


一个包由两个部分组成:

包说明:此处声明包内数据类型、变量、常量、游标、子程序和异常错误处理等元素,这些元素为包的共有元素。

包主体:此处是包声明部分的具体实现,它定义了包定义部分所声明的游标和子程序,在包主体中还可以声明包的私有元素。


包说明和包主体分开编译,并作为两部分分开的对象存放在数据库字典中,可查看数据字典 USER_SOURCE,ALL_SOURCE,DBA_SOURCE,分别了解包说明与包主体的详细信息。


个人理解:程序包就相当于一个java类里面有变量--变量,常量--常量,集合--游标,方法--过程与函数。只不过它有包头和包体2部分,包头声明作用像是抽象方法而包体就像具体的实现类。


程序包的优点

1.简化应用程序设计:包头和包体单独编译可以先搭好整体框架在去编写包体,包头不变既可以单独调试、增加替换包体。


2.模块化:把零碎的PL/SQL块或元素组织到一个程序包中。可以将包中的元素细分给个人完成,易于编写与管理。


3.信息隐藏:包中元素分为公有元素与私有元素,包体为隐藏实现,对于用户来说只需知道包头的声明就好了。


4.效率高:程序包在应用程序第一次调用程序包中的某个元素时,oracle 将把整个程序包加载到内存中,第二次访问时,oracle 直接从内存中读取,不用进行磁盘I/O操作而影响速度,同时内存中的程序包将被同一会话期间的其他应用程序共享。因此,程序包增加了从从用性并改善了多用户、多应用程序环境的效率。


相关博客链接:http://blog.youkuaiyun.com/u012456926/article/details/42582047

相关博客链接:http://blog.youkuaiyun.com/kechengtan/article/details/6247885

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值