oracle 过程、函数和程序包

oracle 过程、函数和程序包

ID:5402816

大小:255.50 KB

页数:39页

时间:2017-11-10

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

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

1、过程、函数和包目标在完成本章学习后,你将掌握下列技能;PL/SQL过程的定义与用法PL/SQL函数的定义与用法PL/SQL包的定义与用法本章内容PL/SQL过程PL/SQL函数PL/SQL包导航PL/SQL过程PL/SQL函数PL/SQL包PL/SQL过程过程是指用于执行特定操作的PL/SQL块通过使用过程,不仅可以简化客户应用的开发和维护,而且可以提高应用程序的运行性能。语法:CREATE[ORREPLACE]PROCEDUREprocedure_name(argument1[mode1]datatype1,argument2[mode

2、2]datatype2,…){IS

3、AS}PL/SQLBlock;其中procedure_name指定过程名,argument指定过程参数;IS或AS用于开始PL/SQL块。PL/SQL过程-建立无参数的过程下面以建立用于输出当前日期和时间的过程out_time为例。CREATEORREPLACEPROCEDUREout_timeISBEGINDBMS_SESSION.SET_NLS(‘NLS_DATE_FORMAT’,’’’YYYY-MM-DDHH24:MI:SS’’’);DBMS_OUTPUT.PUT_LINE(sysdate);EN

4、D;/PL/SQL过程-建立带有输入参数的过程通过使用输入参数,可以将应用程序数据传递到过程。当定义过程参数时,默认参数模式就是输入参数可以使用IN关键字显式定义输入参数。CREATEORREPLACEPROCEDUREadd_empl(empnoempl.empno%TYPE,enameempl.ename%TYPE,ebirthdayempl.ebirthday%TYPE,egradeempl.egrade%TYPE,ejobempl.ejob%TYPE,emajorempl.emajor%TYPE,indateempl.indate

5、%TYPE,salaryempl.salary%TYPE,allowempl.allow%TYPE,deptnoempl.deptno%TYPE)ISBEGININSERTINTOemplVALUES(empno,ebirthday,ename,ejob,egrade,emajor,indate,salary,allow,depno);END;PL/SQL过程-建立带有输出参数的过程通过使用输入参数,可以将数据或消息传递到调用环境和应用程序。当定义输出参数时,需要制定参数模式为OUT。下面建立用于更新雇员工资并输出雇员姓名的过程updat

6、e_sal为例。CREATEORREPLACEPROCEDUREupdate_sal(enovarhcar2,salNUMBER,nameOUTVARCHAR2)ISBEGINUPDATEemplSETsalary=salWHEREempno=enoRETURNINGenameINTOname;END;/PL/SQL过程-建立带有输入输出参数的过程通过在过程中使用输入输出函数,可以调用过程时输入数据到过程,在调用结束后输出数据到调用环境和应用程序。当定义输入输出参数时,需要指定参数模式为INOUT。CREATEORREPLACEPROCE

7、DUREdevide(num1INOUTNUMBER,num2INOUTNUMBER)ISv1NUMBER;v2NUMBER;BEGINv1:=TRUNC(num1/num2);v2:=MOD(num1,num2);num1:=v1;num2:=v2;END;/PL/SQL过程-调用过程在SQL*PLUS中调用过程时,需要使用CALL或者EXECUTE命令;而在PL/SQL块中过程可以直接应用。过程调用带参数分4种情况:如果无参数,那么可以直接引用过程名;如果有输入参数,那么需要为输入参数提供数值;如果带有输出参数,那么需要使用变量接收输

8、出结果;如果有输入输出参数,那么调用时需要使用具有输入值的变量。PL/SQL过程-调用无参数的过程直接引用过程名execout_timePL/SQL过程-调用带有输入参数的过程需要为输入参数提供数据值execadd_empl(1111,’1980-3-4’,’lei’,’programmer’,1,7369,SYSDATE,800,null,30)PL/SQL过程-调用带有输出参数的过程需要使用变量接受输出参数的数据值DECLAREv_nameempl.ename%TYPE;BEGINupdate_sal(&eno,&salary,v_n

9、ame);DBMS_OUTPUT.PUT_LINE(‘name:’

10、

11、v_name);END;/输入雇员号的值:1111输入工资的值:2500姓名:leiPL/SQL过程-调用带有输入输出参数

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

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

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