/*數據包(我們可以把相關的函數,過程,類型,
變量放入一個數據包中,可以實現公共變量,
過程函數對自定義類型的使用)*/
--數據包的說明部分
create or replace package mypack
as
type mytype is ref cursor return emp%rowtype;
function myemp(dno number) return mytype;
end;
/
--數據包的主體部分
create or replace package body mypack
as
function myemp(dno number) return mytype
as
eee mytype;
begin
open eee for select * from emp where deptno=dno;
return eee;
end myemp;
end mypack;
/
--如何調用 數據包名.(方法名/類型名)
declare
e mypack.mytype;
eee emp%rowtype;
begin
e:=mypack.myemp(20);
loop
fetch e into eee;
exit when (e%notfound);
dbms_output.put_line(eee.empno||'',''||eee.ename||'',''||eee.job);
end loop;
end;
/