Oracle中使用程式包學習例項
1:建立程式包規範,
可以宣告變數,型別,子程式等
create or replace package pack_me is
procedure emp_proc (num number);
function emp_func(empno number) return varchar2;
end pack_me;
在程式包規範中聲明瞭儲存過程emp_proc和函式emp_func,它們的實現在程式包主體中。
2: 建立程式包主體
create or replace package body pack_me is
procedure emp_proc(num number) is
e_mail varchar(50);
begin
select t.email into e_email from employees t where t.id=num;
dbms.output.put_line(email);
end emp_proc;
function emp_func(empno number) return varchar2 is
emp_name varchar2(10);
begin
select t.name into emp_name from employees t where t.id=empno;
return emp_name;
end emp_func;
end pack_me;
3:測試程式包
declare
name varchar2(50);
no number;
begin
no := 3;
pack_me.emp_proc(no); --輸出編號為3的員工的email資訊
name := pack_me.emp_func(no); --獲取編號為3的員工的姓名
dbms_output.put_line(name); --輸出姓名
end;