- 1、本文档共17页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
ORACLE PL/SQL编程详解之七:程序包的创建与应用(聪明在于学习,天才在于积累!)本篇主要内容如下:第七章程序包的创建和应用7.1 程序包简介7.2 程序包的定义7.3 包的开发步骤7.4 包定义的说明7.5 子程序重载7.6 加密实用程序7.7 删除包7.8 包的管理7.1 程序包简介程序包(PACKAGE,简称包)是一组相关过程、函数、变量、常量和游标等PL/SQL程序设计元素的组合,作为一个完整的单元存储在数据库中,用名称来标识包。它具有面向对象程序设计语言的特点,是对这些PL/SQL 程序设计元素的封装。包类似于c#和JAVA语言中的类,其中变量相当于类中的成员变量,过程和函数相当于类方法。把相关的模块归类成为包,可使开发人员利用面向对象的方法进行存储过程的开发,从而提高系统性能。与高级语言中的类相同,包中的程序元素也分为公用元素和私用元素两种,这两种元素的区别是他们允许访问的程序范围不同,即它们的作用域不同。公用元素不仅可以被包中的函数、过程所调用,也可以被包外的PL/SQL程序访问,而私有元素只能被包内的函数和过程序所访问。当然,对于不包含在程序包中的过程、函数是独立存在的。一般是先编写独立的过程与函数,待其较为完善或经过充分验证无误后,再按逻辑相关性组织为程序包。程序包的优点?简化应用程序设计:程序包的说明部分和包体部分可以分别创建各编译。主要体现在以下三个方面:1)可以在设计一个应用程序时,只创建各编译程序包的说明部分,然后再编写引用该程序包的PL/SQL块。2)当完成整个应用程序的整体框架后,再回头来定义包体部分。只要不改变包的说明部分,就可以单独调试、增加或替换包体的内容,这不会影响其他的应用程序。3)更新包的说明后必须重新编译引用包的应用程序,但更新包体,则不需重新编译引用包的应用程序,以快速进行进行应用程序的原形开发。?模块化:可将逻辑相关的PL/SQL块或元素等组织在一起,用名称来唯一标识程序包。把一个大的功能模块划分人适当个数小的功能模块,分别完成各自的功能。这样组织的程序包都易于编写,易于理解更易于管理。?信息隐藏:因为包中的元素可以分为公有元素和私有元素。公有元素可被程序包内的过程、函数等的访问,还可以被包外的PL/SQL访问。但对于私有元素只能被包内的过程、函数等访问。对于用户,只需知道包的说明,不用了解包休的具体细节。?效率高:程序包在应用程序第一次调用程序包中的某个元素时,ORACLE将把整个程序包加载到内存中,当第二次访问程序包中的元素时,ORACLE将直接从内在中读取,而不需要进行磁盘I/O操作而影响速度,同时位于内在中的程序包可被同一会话期间的其它应用程序共享。因此,程序包增加了重用性并改善了多用户、多应用程序环境的效率。对程序包的优点可总结如下:在PL/SQL程序设计中,使用包不仅可以使程序设计模块化,对外隐藏包内所使用的信息(通过使用私用变量),而写可以提高程序的执行效率。因为,当程序首次调用包内函数或过程时,ORACLE将整个包调入内存,当再次访问包内元素时,ORACLE直接从内存中读取,而不需要进行磁盘I/O操作,从而使程序执行效率得到提高。一个包由两个分开的部分组成:包说明(PACKAGE):包说明部分声明包内数据类型、变量、常量、游标、子程序和异常错误处理等元素,这些元素为包的公有元素。包主体(PACKAGE BODY):包主体则是包定义部分的具体实现,它定义了包定义部分所声明的游标和子程序,在包主体中还可以声明包的私有元素。包说明和包主体分开编译,并作为两部分分开的对象存放在数据库字典中,可查看数据字典user_source, all_source, dba_source,分别了解包说明与包主体的详细信息。7.2 程序包的定义程序包的定义分为程序包说明定义和程序包主体定义两部分组成。程序包说明用于声明包的公用组件,如变量、常量、自定义数据类型、异常、过程、函数、游标等。包说明中定义的公有组件不仅可以在包内使用,还可以由包外其他过程、函数。但需要说明与注意的是,我们为了实现信息的隐藏,建议不要将所有组件都放在包说明处声明,只应把公共组件放在包声明部分。包的名称是唯一的,但对于两个包中的公有组件的名称可以相同,这种用“包名.公有组件名“加以区分。包体是包的具体实现细节,其实现在包说明中声明的所有公有过程、函数、游标等。当然也可以在包体中声明仅属于自己的私有过程、函数、游标等。创建包体时,有以下几点需要注意:?包体只能在包说明被创建或编译后才能进行创建或编译。?在包体中实现的过程、函数、游标的名称必须与包说明中的过程、函数、游标一致,包括名称、参数的名称以及参数的模式(IN、OUT、IN OUT)。并建设按包说明中的次序定义包体中具体的实现。?在包体中声明的数据类型、
您可能关注的文档
- 民营企业怎样冲破垄断行业的壁垒.docx
- 正压送风系统.docx
- 童年惊悚体验《木窗上人脸》.docx
- 宁乡装修门窗常见分类及选购技巧【三】.doc
- 室内设计是根据建设物的使用性质.doc
- InTouch软件介绍.docx
- 粉尘监测点布置概论.doc
- 老河口职称改革职称论文发表在线问诊互联网医疗远程医疗法律论文选题题目.docx
- 北京论文网海淀区职称论文发表网软件定义网络深度包检测应用研究论文选题题目.docx
- 对民用建设中应急柴油发电机房设计中须注意的问题.doc
- 第9课 两宋的政治和军事 课件-高一上学期统编版(2019)必修中外历史纲要上 (2).pptx
- 1.1《子路、曾晳、冉有、公西华侍坐》课件 高一语文课件(统编版必修下册).pptx
- 第27讲 服务业区位因素及其变化(课件)高考地理一轮复习(新高考通用).pptx
- 古诗词诵读《燕歌行(并序)》课件 统编版高中语文选择性必修中册(1).pptx
- 7.《包身工》(课件)高二语文(统编版 选择性必修中册).pptx
- 专题06 几何图形初步 七年级数学上学期期末考点(人教版2024).pptx
- 6.3.3 余角和补角(课件)七年级数学上册(人教版2024).pptx
- 第1课我国的生产资料所有制 课件-新高考政治一轮复习必修二《经济与社会》课件.pptx
- 专题八 考点2 探究世界的本质(课件)高考政治一轮复习专题课件(新高考通用).pptx
- 6.3测量固体和液体的质量 -人教版2024八年级上册物理.pptx
最近下载
- 司炉工考试题库及答案.doc VIP
- GB∕T 7190.1-2018 机械通风冷却塔 第1部分:中小型开式冷却塔.pdf
- 2021年电子政务概论课程形成性考核册答案.doc VIP
- 4教学设计(骨折固定2学时).doc VIP
- 新统计法培训课件.pptx VIP
- 信息安全技术信息系统安全等级保护实施指南.pdf VIP
- “红旗杯”竞赛总题库-1班组长环境安全健康管理能力考试题库(附答案).docx VIP
- 2025年二季度党支部书记作风建设专题党课廉政党课:扎实开展作风建设学习教育持续推动作风建设走深走实.docx VIP
- 质量管理体系与措施.docx VIP
- 第二章放射性核素制备.ppt VIP
文档评论(0)