Oracle存储过程包含三部分:过程声明,执行过程部分,存储过程异常。
Oracle存储过程可以有无参数存储过程和带参数存储过程。
一、无参程序过程语法
create or replace procedure NoParPro as ; begin ; exception //存储过程异常 ; end;
二、带参存储过程实例
create or replace procedure queryempname(sfindno emp.empno%type) as
sName emp.ename%type;
sjob emp.job%type;
begin
....
exception
....
end;
三、 带参数存储过程含赋值方式
create or replace procedure runbyparmeters (isal in emp.sal%type,
sname out varchar,sjob in out varchar)
as icount number;
begin
select count(*) into icount from emp where sal>isal and job=sjob;
if icount=1 then
....
else
....
end if;
exception
when too_many_rows then
DBMS_OUTPUT.PUT_LINE(‘返回值多于1行‘);
when others then
DBMS_OUTPUT.PUT_LINE(‘在RUNBYPARMETERS过程中出错!‘);
end;
四、在Oracle中对存储过程的调用
过程调用方式一
declare realsal emp.sal%type; realname varchar(40); realjob varchar(40); begin //存储过程调用开始 realsal:=1100; realname:=‘‘; realjob:=‘CLERK‘; runbyparmeters(realsal,realname,realjob); --必须按顺序 DBMS_OUTPUT.PUT_LINE(REALNAME||‘ ‘||REALJOB); END; //过程调用结束
过程调用方式二
declare realsal emp.sal%type; realname varchar(40); realjob varchar(40); begin //过程调用开始 realsal:=1100; realname:=‘‘; realjob:=‘CLERK‘; runbyparmeters(sname=>realname,isal=>realsal,sjob=>realjob); --指定值对应变量顺序可变 DBMS_OUTPUT.PUT_LINE(REALNAME||‘ ‘||REALJOB); END; //过程调用结束
至此,有关ORACLE的基本存储过程以及对Oracle存储过程的调用方式介绍完毕。
郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。