Oracle 11g数据库管理与开发基础教程 教学课件 作者 袁鹏飞 第17章.ppt

Oracle 11g数据库管理与开发基础教程 教学课件 作者 袁鹏飞 第17章.ppt

ID:50020432

大小:335.50 KB

页数:47页

时间:2020-03-07

Oracle 11g数据库管理与开发基础教程 教学课件 作者 袁鹏飞 第17章.ppt_第1页
Oracle 11g数据库管理与开发基础教程 教学课件 作者 袁鹏飞 第17章.ppt_第2页
Oracle 11g数据库管理与开发基础教程 教学课件 作者 袁鹏飞 第17章.ppt_第3页
Oracle 11g数据库管理与开发基础教程 教学课件 作者 袁鹏飞 第17章.ppt_第4页
Oracle 11g数据库管理与开发基础教程 教学课件 作者 袁鹏飞 第17章.ppt_第5页
资源描述:

《Oracle 11g数据库管理与开发基础教程 教学课件 作者 袁鹏飞 第17章.ppt》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库

1、Oracle11g数据库管理与开发基础教程授课教师:职务:第17章包课程描述包可以将存储过程、函数、变量、游标和对象类型组织在一起,实现PL/SQL程序的模块化,并构建供其他编程人员重用的代码库。本章知识点包的基本概念和结构包的创建和调用包管理17.1包的创建包可以将存储过程、函数、变量、游标和对象类型组织在一起,实现PL/SQL程序的模块化,并构建供其他编程人员重用的代码库。包通常由两部分组成:规范和包体。包的规范是程序的公共接口,列出了包中可以使用的存储过程、函数、类型、游标、对象等;包体包含了规范的

2、实现,以及没有在规范中列出的私有数据、对象等。17.1.1规范使用CREATEPACKAGE语句来创建包的规范,语法如下:CREATE[ORREPLACE]PACKAGEpackage_name{IS

3、AS}package_specification;ENDpackage_name;其中:package_name为包名;package_specification列出公共存储过程、函数、类型、对象等的声明。例如,创建包books_package规范,其中包含一个存储过程add_books_p和一个函数fin

4、d_books_f。BOOKS_PUB@orcl_dbs>CREATEORREPLACEPACKAGEbooks_package2AS3PROCEDUREadd_books_p(p_bnumVARCHAR2,p_bnameVARCHAR2,4p_bcatCHAR,p_bauthorVARCHAR2,p_bpubVARCHAR2,p_bpriceNUMBER);5FUNCTIONfind_books_f(p_bnumVARCHAR2)RETURNVARCHAR2;6ENDbooks_package;7/程序

5、包已创建。17.1.2包体使用CREATEPACKAGEBODY语句来创建包体,其语法如下:CREATE[ORREPLACE]PACKAGEBODYpackage_name{IS

6、AS}package_body;ENDpackage_name;其中:package_name为包名;package_body定义存储过程和函数的实现代码,并可以在此声明包的私有数据,以及完成初始化等工作。例如,创建包books_package的包体。BOOKS_PUB@orcl_dbs>CREATEORREPLACEPACKA

7、GEBODYbooks_package2AS3PROCEDUREadd_books_p(p_bnumVARCHAR2,p_bnameVARCHAR2,4p_bcatCHAR,p_bauthorVARCHAR2,p_bpubVARCHAR2,p_bpriceNUMBER)5AS6BEGIN7INSERTINTObooks(bookid,booknum,bookname,category,author,8publish,bookprice)9VALUES(books_seq.nextval,p_bnum,p_

8、bname,p_bcat,p_bauthor,10p_bpub,p_bprice);11ENDadd_books_p;12FUNCTIONfind_books_f(p_bnumVARCHAR2)RETURNVARCHAR213AS14v_bookbooks%ROWTYPE;15v_infoVARCHAR2(100);16BEGIN17SELECT*INTOv_book18FROMbooks19WHEREbooknum=p_bnum;20v_info:=v_book.bookname

9、

10、''

11、

12、v_book

13、.author

14、

15、''

16、

17、21v_book.publish

18、

19、''

20、

21、v_book.bookprice;22RETURNv_info;23ENDfind_books_f;24ENDbooks_package;25/程序包体已创建。17.1.3初始化包的初始化只在包第一次被调用时执行一次,初始化过程是通过一个匿名的PL/SQL块来完成的。例如,修改17.1.2小节中包books_package的规范定义,然后在包体内实现对包的初始化。BOOKS_PUB@orcl_dbs>CREATEORREPLACEPAC

22、KAGEbooks_package2AS3v_avgpNUMBER;4PROCEDUREadd_books_p(p_bnumVARCHAR2,p_bnameVARCHAR2,5p_bcatCHAR,p_bauthorVARCHAR2,p_bpubVARCHAR2,p_bpriceNUMBER);6FUNCTIONfind_books_f(p_bnumVARCHAR2)RETURNVARCHAR2;7ENDbooks_packa

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。