Oracle存儲過程

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存儲過程的調用方式介紹完畢。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章