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;