Oracle 数据库应用教程课件 第7章.ppt

Oracle 数据库应用教程课件 第7章.ppt

ID:50609856

大小:173.50 KB

页数:79页

时间:2020-03-12

Oracle 数据库应用教程课件 第7章.ppt_第1页
Oracle 数据库应用教程课件 第7章.ppt_第2页
Oracle 数据库应用教程课件 第7章.ppt_第3页
Oracle 数据库应用教程课件 第7章.ppt_第4页
Oracle 数据库应用教程课件 第7章.ppt_第5页
资源描述:

《Oracle 数据库应用教程课件 第7章.ppt》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库

1、第7章过程、函数和程序包7.17.27.3小结上机实验七7.1子程序以前我们写的PL/SQL语句程序都是瞬时的,都没有命名。其缺点是:在每次执行的时候都要被编译,并且不能被存储在数据库中,其他PL/SQL块也无法调用它们。现在我们把命名的PL/SQL块叫做子程序,它们存储在数据库中,可以为它们指定参数,可以在数据库客户端和应用程序中调用。命名的PL/SQL程序包括存储过程和函数。程序包是存储过程和函数的集合。子程序结构与PL/SQL匿名块的相同点在于都由声明、执行、异常三大部分构成,不同之处在于,PL/SQL匿名块的声明可选,而子程序的声

2、明则是必需的。子程序的优点如下:(1)模块化:通过子程序可以将程序分解为可管理的、明确的逻辑模块。(2)可重用性:子程序在创建并执行后,就可以在任何应用程序中使用。(3)可维护性:子程序可以简化维护操作。(4)安全性:用户可以设置权限,保护子程序中的数据,只能让用户提供的过程和函数访问数据。这不仅可以让数据更加安全,同时可保证正确性。子程序有两种类型:过程和函数。其中,过程用于执行某项操作;函数用于执行某项操作并返回值。7.1.1过程1.过程的创建和执行过程可使用createprocedure语句创建,语法如下:createorrepla

3、ceprocedure[<方案名>.]<存储过程名>[parameterlist]{Is

4、as}[local_declarations];Beginexecutablestatements[exception][Exception_handlers]End[procedure_name];保留字Is前面的过程定义称为过程头。过程头包括过程名和具有数据类型的参数列表。过程体包括声明部分、执行部分和异常处理部分。过程体从保留字Is之后开始。其中,声明部分和异常处理部分是可选的;执行部分至少包含一条语句。这里的Is

5、as就相当于declare声

6、明部分,除了拥有前面的一个过程声明语句外,其他和以前的匿名PL/SQL块一样。其中,replace表示在创建存储过程中,如果已经存在同名的存储过程,则重新创建;如果没有此关键词,则当数据库中有同名的过程时会报错“ORA-00955号错误:名称已被现有对象占用”。必须将同名的过程删除后才能创建。1)创建不带参数的过程。【例7.1】创建一个过程multiplication,用来实现九九乘法表。SQL>createorreplaceproceduremultiplication2as3iinteger;4jinteger;5begin6dbms

7、_output.put_line('printmultiplication');7foriin1..9loop8forjin1..9loop9ifi>=jthen10dbms_output.put(to_char(j)

8、

9、'*'

10、

11、11to_char(i)

12、

13、'='

14、

15、to_char(i*j)

16、

17、'');12endif;13endloop;14dbms_output.put_line('');15endloop;16end;17/过程已创建。出现编译错误的时候可以用showerror或者descuser_errors来调试。2)执行过程创

18、建过程的时候并不会执行过程,必须在这之后调用过程来执行。执行过程的方法有两种:一种是在SQL提示符下,使用execute语句来执行过程;另一种是在匿名块中调用。execute执行过程的语法如下:executeprocedure_name(parameters_list);【例7.2】执行multiplication过程。SQL>setserverouton--将SQL*Plus的输出打开SQL>executemultiplication--执行过程multiplication用execute命令。printmultiplication1*

19、1=11*2=22*2=41*3=32*3=63*3=91*4=42*4=83*4=124*4=161*5=52*5=103*5=154*5=205*5=251*6=62*6=123*6=184*6=245*6=306*6=361*7=72*7=143*7=214*7=285*7=356*7=427*7=491*8=82*8=163*8=244*8=325*8=406*8=487*8=568*8=641*9=92*9=183*9=274*9=365*9=456*9=547*9=638*9=729*9=81PL/SQL过程已成功完成。【例7

20、.3】在匿名块中调用过程multiplication。SQL>begin2multiplication;3end;4/程序运行结果同上。2.创建带参数的过程调用程序通过参数可向被调用子程序传递

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

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

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