Oracle存儲過程及函數


1.在Oracle中,存儲過程包括三部分組成:定義部分、執行部分、和異常處理部分(即例外)

eg1:輸入員工編號,查詢員工的姓名和薪資

create or repalce  procedure mypro2 is

declare --定義部分,定義變量和常量等,變量定義一般以V_開頭,常量定義一般以C_開頭

v_ename varchar2(20);

v_sal number(7,2);

begin--執行部分

select ename,sal into v_ename,v_sal from emp where empno=&no;

dbms_output.put_line('員工的姓名是:'||v_ename||'工資是'||v_sal);

exception--異常處理部分

when no_data_found then

dbms_output.put_line('您輸入的員工編號不存在');

end;

eg2:帶參數的存儲過程

--輸入員工的姓名和新的薪資,根據姓名改薪資

create or replace procedure mypro2(pename varchar2,psal number) is

begin

update emp set sal=psal where ename=pename;

end;

存儲過程的調用方法:

a:exec mypro1()或者call mypro1();

b:exec mypro1('SCOTT',1200)或者call mypro1('SCOTT',1200);

2.函數

函數必須有返回值的

結構如下:根據雇員名稱求年薪

create or repalce function myfun1(fename varchar2) return number is yearsal nunber;

begin

select sal*12+nvl(comm,0) into yearsal from emp where ename=fename;

return yearsal;

end;

函數的調用方法:

SQL> var ys number;
SQL> call myf1('SCOTT') into:ys;

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM