8.plsql里的包
包
包用于在逻辑上组合过程和函数,它由包规范和包体两部分组成。
1.我们可以使用create package命令来创建包:
实例:
create package sun_package is
procedure update_sal(name varchar2,newsal number);
function annual_income(name varchar2) return number;
end;
包的规范只包含了过程和函数的说明,但是没有过程和函数的实现代码。包体用于实现包规范中的过程和函数。
2.建立包体可以使用create package body命令
SQL> create or replace package body sun_package is
2 procedure update_sal(name varchar2,newsal number)
3 is
4 begin
5 update kkkk set sal=newsal where ename=name;
6 end;
7 function annual_income(name varchar2)
8 return number is
9 annual_salary number;
10 begin
11 select sal*12+nvl(comm,0) into annual_salary from emp where ename=name;
12 return annual_salary;
13 end;
14 end;
15 /
Package body created
3.如何调用包的过程或是函数
当调用包的过程或是函数时,在过程和函数前需要带有包名,如果要访问其它方案的包,还需要在包名前加方案名。
如:
SQL>call sun_package.update_sal('SCOTT',1200);