过程函数程序包.ppt

过程函数程序包.ppt

ID:56437885

大小:366.00 KB

页数:37页

时间:2020-06-18

过程函数程序包.ppt_第1页
过程函数程序包.ppt_第2页
过程函数程序包.ppt_第3页
过程函数程序包.ppt_第4页
过程函数程序包.ppt_第5页
资源描述:

《过程函数程序包.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、第8章过程、函数和程序包到目前为止,所创建的PL/SQL程序都是匿名的。这些匿名的程序块没有被存储,在每次执行后,都不可以被重新使用。因此,每次运行匿名程序块时,都需要先编译然后再执行。在很多时候,都需要保存PL/SQL程序块,以随后可以重新使用。这也意味着,程序块需要一个名称,这样在调用或引用它时,系统就可以找到这个特定的程序块。创建并命名的程序块称为“命名程序单元”或“子程序”。由于存储代码的位置、代码所执行的任务类型以及调用方式的不同,命名PL/SQL程序单元分为:存储过程、函数和程序包三种。1本章学习目标:了解Oracle匿名程

2、序块创建Oracle存储过程调用存储过程理解存储过程中各种形式的参数修改存储过程为过程添加局部变量和子过程创建Oracle函数调用Oracle函数创建程序包创建程序包的公有成员和私有成员理解程序包中重载的过程和函数理解程序单元之间的依赖性28.1存储过程存储过程是一种命名PL/SQL程序块,它可以被赋予参数,存储在数据库中,可以被用户调用。由于存储过程是已经编译好的代码,所以在调用的时候不必再次进行编译,从而提高了程序的运行效率。另外,使用存储过程可以实现程序的模块化设计。3过程的基本操作包括创建、查看、修改、调用和删除。1.创建过程c

3、reate[orreplace]procedure(,……)is

4、as[localdeclaration]beginexecutablestatements[exceptionexceptionhandler]end[procedurename]P200例子2.调用过程一旦创建存储过程后,就可以任意调用该存储过程。①直接写过程名(在匿名块中调用)②Execute过程名(在sql*plus直接调用)3.修改过程①可以在企业管理器修改②使用带有orreplace选项的

5、重建命令修改4.查看过程①可以在企业管理器查看②通过user_source数据字典查看5.删除过程①可以在企业管理器删除②dropprocedure过程名;6.参数在创建存储过程时,需要考虑的第一件重要事情就是使过程可以灵活应用,以便重新使用它们。通过“参数”可以使程序单元变得很灵活。参数是一种向程序单元输入、输出数据的机制。存储过程可以接收和返回0个或多个参数。Oracle有三种参数模式:参数模式inin表示在调用过程的时候,实际参数的取值被传递给该过程,形式参数被认为是只读的,当过程结束时,控制会返回控制环境,实际参数的值不会改变。

6、同时也是参数的缺省模式。P202例子调用存储过程时,有三种向其传递参数的方法:1.名称表示法:为各个参数传递参数值时,指定传入数值的参数名。procedure(形参名=>实参值[,形参名=>实参值,…])使用这种方法传递参数值时,由于指定各个参数获取的值,因此用户不需要考虑创建过程时定义的参数顺序。2.位置表示法:用户提供的参数值必须与过程中定义的参数顺序相对应。3.混合表示法:位置表示法和名称表示法各有自己的优缺点,为了弥补两者的缺陷,可以采用混合表示法。当用户使用名称表示法后,后续的参数必须使用名称表示法。参数模式outout在调用

7、过程时实际参数的取值都将被忽略,在过程内部形式参数只能是被赋值,而不能从中读取数据,在过程结束后形式参数的内容将被赋予实际参数P203例子参数模式inoutinout这种模式是in和out的组合,在过程内部实际参数的值会传递给形式参数,形式参数的值可读也可写,过程结束后,形式参数的值将赋予实际参数。P204例子默认值过程的参数也可以像表中的列一样具有默认值。这样当调用该过程时,如果没有向该参数传入值,则该参数将使用定义的默认值。P205例子注意:out和inout参数不具有默认值。7.局部变量和子过程如同匿名PL/SQL程序块一样,过程

8、也可以定义局部变量。在过程中定义的变量不必再使用declare关键字,而是写在is或as的后面。过程内定义的局部变量可以在过程内的任何地方使用。在局部变量的定义部分,不仅仅可以定义变量,还可以定义记录类型、游标等,甚至其它过程。练习:编写过程计算emp表指定部门(默认时为10号部门)的工资总和,并统计其中的职工数量。调用此过程显示30号和10号部门的工资总和及人数。8.2函数函数与过程非常相似,它也是一种存储在数据库中的命名程序块,也可以接接收输入值,并进行逻辑处理后将处理结果返回给调用者。函数与过程之间的主要区别在于,函数必须有返回值

9、,并可以作为一个表达式的一部分,并不能作为一个完整的语句使用。16函数的基本操作包括创建、查看、修改、调用和删除。1.创建函数create[orreplace]function

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

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

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