包用于在逻辑上的组合过程和函数,它由包规范和包体两部分组成。
1.创建包规范
create package sp_package is procedure update_sal(name varchar2,newsal number);
function annual_income(name varchar2) return number;
end;
2.创建包体
create or replace package body sp_package is
procedure update_sal(name varchar2,newsal number)
is
begin
update emp set sal=newsal where ename=name;
end;
function annual_income(name varchar2)
return number is
annual_salary number;
begin
select sal*12+nvl(comm,0)*12 into annual_salary from emp where ename=name;
return annual_salary;
end;
end;
调用
exec sp_package.update_sal('SCOTT',2600);