PL/SQL 函式 包

紅葉DBA發表於2011-04-12

--PL/SQL 程式碼塊的示例;

declare
v_name varchar2(10);
v_sal number(7);
begin
select ename,sal into v_name,v_sal from emp where ename='&name';
dbms_output.put_line('員工姓名是:'||v_name||'  薪水是:'||v_sal);
exception
when no_data_found then
dbms_output.put_line('你好!你輸入的使用者資料不存在!');
end;

--函式的示例:輸入員工的姓名,返回員工的月薪;

create function monthSal (pname varchar2)
return number is monSal number(7);
begin
select sal+nvl(comm,0) into monSal from emp where ename=pname;
return monSal;
end;

--包的示例:宣告一個包,該包包含了一個過程和一個函式;

create package myPackage is
procedure changSal (pname varchar2,newSal number);
function monthSal (pname varchar2) return number;
end;

--給包建立包體;
create or replace package body myPackage is
procedure changSal (pname varchar2,newSal number) is
begin
update emp set sal=newSal where ename=pname;
end;
function monthSal (pname varchar2)
return number is monSal number(7);
begin
select sal+nvl(comm,0) into monSal from emp where ename=pname;
return monSal;
end;
end;

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/24465008/viewspace-692334/,如需轉載,請註明出處,否則將追究法律責任。

相關文章