oracle存储过程语法

    技术2025-06-20  11

    存储过程 包含三部分: 声明,执行部分,异常。     可以有无参数程序和带参数存储过程。     无参程序语法     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 

    最新回复(0)