《oracle数据库实用技术》课件第8章.pptx
第8章PL/SQL高级应用
8.1管理存储过程
8.2管理存储函数
8.3管理触发器
8.4小结
习题与思考题
实践8PL/SQL高级编程
BACK
8.1管理存储过程
存储过程是PL/SQL语言的重要特征,是指为了完成某种特定功能而编写的命名的PL/SQL程序块,它为创建和存储高度结构化的、可重用的模块代码提供了一种手段。它存储在数据库中,属于数据库的一部分。
利用存储过程不仅可以使程序代码简洁、规范,提高代码重用性的同时还能极大地改善操作性能,提高程序的执行效率。例如,在前台程序中想多次统计某医保卡的消费金额及等级,只需要将第7章中例7.1的PL/SQL块命名,修改为存储过程并存储在数据库中,这样在前台程序中可以随时通过调用这个存储过程方便地完成相关信息的统计。
8.1.1创建存储过程
在Oracle数据库中创建存储过程的方法有企业管理器方式和命令行方式两种。
1.企业管理器方式
在企业管理器中选择“管理”\“方案”\“过程”,出现管理存储过程界面,如图8-1所示。
图8-1中对象类型显示为“过程”,单击“创建”按钮,出现创建存储过程界面,如图8-2所示。
图8-2界面定义了存储过程的名称、该存储过程所属方案及源代码。其中,存储过程的源代码包含了存储过程的参数说明和过程体的定义。
Databaseygbr过程作为YGBX_USER登录
过程西安电子科技大学出版社
搜索
选择对象类型,并可以选择输入方案名称和对象名称,以过滤结果集中显示的数据。
型方案对原名开始
要热行完全匹A平3的搜夜索区大写版的批社常,请将搅索标准加上双引号。在带鸡引号的挟索字符夷中,奶可使用通配符(结果
过程
对象类
创建
选择方案
过程名
创建时间
上次修改时间
状态
未执行搜
安电子科技大学出版社西安电子科技大学
A0raceEnterpriseManager(YGBXUSER)-过程-MicrosoltInternetEplore
文件(E编辑(E)查看(V收骤(A)工具(D帮助(H0
中后退·→日搜白收藏夹守媒体·区·
地址(Dhtp://se-313:5500/emlconsole/database/databaseobjectssearch?event=nosearcheotype-schemabobjectTypo-
数据库|帮助|注镇
本地Intranet
1×
探
转到链报”
蟹助注糖
数据库
图8-1管理存储过程界面
版权所有(e)1996,2004,Oruch.保留所有权利。差王0ndBtciMow102DCaol
IORACL∈EnterpriseManager10g
DatabaseControl
西安电子科技大学出版社
西安电子科技大学出版社西安电子科技大学出游就)m面
数慨库1超助工江链
图8-2创建存储过程界面
出烘L取酒业
钟到”
1)参数说明
存储过程中既可以没有参数,也可以有参数,还可以有多个参数。如果有,那么参数说明部分要在最前面,用括号括起来。如果有多个参数,那么参数之间用“,”分隔,其定义格
式如下:
参数名INIOUT|INOUT数据类型[默认值]
其中,参数的类型有3种:IN、OUT和INOUT。若没有为参数指定类型,则默认是IN类型。
●IN表示输入参数,用于从外部(调用环境)向过程内传递值,在过程内部不能给IN参数赋值,它是只读的。调用过程时,可以用常量、变量、表达式给这种参数传递值,这种参数也可
以有默认值。
●OUT表示输出参数,用于从过程内返回值给过程的调用者。在过程内部不能使用OUT参数,只能给它赋值,且必须赋值。调用过程时,要使用变量代替这种参数,不能使用常量或表达式。
●INOUT表示输入输出参数,是前两者的结合,既可以从外部(调用环境)向过程内传递值,又可以将改变后的值从过程内返回给过程的调用者。同OUT参数一样,调用过程时,要