oracle存储过程、函数和程序包.ppt

oracle存储过程、函数和程序包.ppt

ID:50360219

大小:118.00 KB

页数:49页

时间:2020-03-12

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

《oracle存储过程、函数和程序包.ppt》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库

1、专题七过程、函数和程序包回顾游标就是指向上下文区的句柄或指针。游标有两种类型:显式游标、隐式游标。四个游标属性:SQL%FOUND、SQL%NOTFOUND、SQL%ROWCOUNT、SQL%ISOPEN显式游标的使用步骤:4个记录变量和%ROWTYPE带参数的游标游标FOR循环(循环游标)游标中的更新和删除REF游标教学目标掌握过程的用法掌握函数的用法理解过程与函数的相同点和不同点理解程序包的概念并能熟练应用工作任务用无参过程实现“HelloWorld!”程序用带输入参数的过程向表中插入记录用带输出参数

2、的过程查询表中的记录数使用带输入输出参数的过程查询记录是否存在使用函数查询部门信息使用程序包封装过程和函数相关实践知识从开始菜单中打开SQL*Plus工具,以SCOTT用户的身份登录到数据库不带参数的过程2-1输入以下代码,创建一个最简单的过程功能:显示”HelloWorld!”CREATEORREPLACEPROCEDUREsp_helloWorldASBEGINDBMS_OUTPUT.PUT_LINE('HelloWorld!');ENDsp_helloWorld;不带参数的过程2-2执行过程EXEC

3、UTEsp_helloWorld;执行结果:删除过程DROPPROCEDUREsp_helloWorld;带输入参数的过程3-1实现的功能:向表dept中插入一条记录创建带输入参数的过程,代码为:带输入参数的过程3-2CREATEORREPLACEPROCEDUREsp_dept_insert(i_deptnoNUMBER,i_dnameVARCHAR2,i_locVARCHAR2)ASBEGININSERTINTOdeptVALUES(i_deptno,i_dname,i_loc);COMMIT;EXC

4、EPTIONWHENOTHERSTHENDBMS_OUTPUT.PUT_LINE('添加失败!原因为:'

5、

6、SQLERRM);ROLLBACK;ENDsp_dept_insert;带输入参数的过程3-3分别输入两组数据来执行过程,结果如下:带输出参数的过程3-1实现功能:通过输出参数count来得到dept表中的记录数创建带输出参数的过程CREATEORREPLACEPROCEDUREsp_getcount(o_countOUTNUMBER)ASBEGINSELECTCOUNT(*)INTOo_count

7、FROMdept;ENDsp_getcount;带输出参数的过程3-2编写一段匿名的PL/SQL块来执行过程DECLAREcntNUMBER;BEGINsp_getcount(cnt);DBMS_OUTPUT.PUT_LINE('dept表中的记录数为:'

8、

9、cnt);END;带输出参数的过程3-3输出结果:带INOUT参数的过程2-1实现功能:查询某个部门名称在表dept中是否已经存在创建带INOUT参数的过程,代码为:CREATEORREPLACEPROCEDUREsp_dept_dname_exis

10、t(io_valueINOUTVARCHAR2)ISl_countNUMBER;BEGINSELECTCOUNT(*)INTOl_countFROMdeptWHEREdname=io_value;IF(l_count>0)THENio_value:='存在';ELSEio_value:='不存在';ENDIF;ENDsp_dept_dname_exist;带INOUT参数的过程2-2执行过程:输出结果:部门名称ACCOUNTING存在!DECLAREl_iotestvarchar2(20):='ACCOU

11、NTING';BEGINsp_dept_dname_exist(l_iotest);DBMS_OUTPUT.PUT_LINE('部门名称ACCOUNTING'

12、

13、l_iotest

14、

15、'!');END;函数4-1实现功能:按部门编号查询出表dept中的部门名称创建一个函数,代码为:函数4-2CREATEORREPLACEFUNCTIONf_dept_getname_byno(i_deptnoNUMBER)RETURNVARCHAR2ASl_dnameVARCHAR2(14);BEGINSELECTdname

16、INTOl_dnameFROMdeptWHEREdeptno=i_deptno;RETURNl_dname;EXCEPTIONWHENNO_DATA_FOUNDTHENRETURN'错误!该编号的部门不存在!';ENDf_dept_getname_byno;函数4-3函数的调用及其输出结果:函数4-4删除函数DROPFUNCTIONf_dept_getname_byno过程与函数小结2-1共同点:两者的实质都是已命名的PL/S

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

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

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