浏览 7127 次
锁定老帖子 主题:oracle存储过程语法
该帖已经被评为新手帖
|
|
---|---|
作者 | 正文 |
发表时间:2007-12-05
存储过程 包含三部分: 声明,执行部分,异常。 可以有无参数程序和带参数存储过程。 无参程序语法 1 create or replace procedure NoParPro 2 as ; 3 begin 4 ; 5 exception 6 ; 7 end; 8 带参存储过程实例 1 create or replace procedure queryempname(sfindno emp.empno%type) as 2 sName emp.ename%type; 3 sjob emp.job%type; 4 begin 5 .... 7 exception .... 14 end; 15 带参数存储过程含赋值方式 1 create or replace procedure runbyparmeters (isal in emp.sal%type, sname out varchar,sjob in out varchar) 2 as icount number; 3 begin 4 select count(*) into icount from emp where sal>isal and job=sjob; 5 if icount=1 then 6 .... 9 else 10 .... 12 end if; 13 exception 14 when too_many_rows then 15 DBMS_OUTPUT.PUT_LINE('返回值多于1行'); 16 when others then 17 DBMS_OUTPUT.PUT_LINE('在RUNBYPARMETERS过程中出错!'); 18 end; 19 过程调用 方式一 1 declare 2 realsal emp.sal%type; 3 realname varchar(40); 4 realjob varchar(40); 5 begin 6 realsal:=1100; 7 realname:=''; 8 realjob:='CLERK'; 9 runbyparmeters(realsal,realname,realjob); --必须按顺序 10 DBMS_OUTPUT.PUT_LINE(REALNAME||' '||REALJOB); 11 END; 12 方式二 1 declare 2 realsal emp.sal%type; 3 realname varchar(40); 4 realjob varchar(40); 5 begin 6 realsal:=1100; 7 realname:=''; 8 realjob:='CLERK'; 9 runbyparmeters(sname=>realname,isal=>realsal,sjob=>realjob); --指定值对应变量顺序可变 10 DBMS_OUTPUT.PUT_LINE(REALNAME||' '||REALJOB); 11 END; 12 声明:ITeye文章版权属于作者,受法律保护。没有作者书面许可不得转载。
推荐链接
|
|
返回顶楼 | |
发表时间:2008-04-27
看不懂,呵呵!
|
|
返回顶楼 | |
发表时间:2008-04-27
楼主的帖子发错板块了~~~
|
|
返回顶楼 | |