您的位置:首页 > 数据库 > Oracle

Oracle学习笔记(二十五)——包

2016-04-19 13:51 393 查看
1、包
1)包

用于在逻辑上组合过程和函数。
由包规范和包体两部分组成。

2)实例

使用create package命令来创建包。

SQL> --创建包
SQL> --声明改包有一个过程update_sal和一个函数annual_income
SQL> create package sp_package is
2  procedure update_sal(name varchar2,newsal number);
3  function annual_income(name varchar2) return number;
4  end;
5  /
Package created


包的规范只包含了过程和函数的说明,但是没有过程和函数的实现代码。包体用于实现包规范中的过程和函数。
建立包体可以使用create package body命令

SQL> --实现包体
SQL> create or replace package body sp_package is
2  procedure update_sal(name varchar2,newsal number) is
3    begin
4      update emp set sal=newSal where ename=name;
5    end;
6  function annual_income(name varchar2)
7    return number is annual_salary number;
8    begin
9      select sal*12+nvl(comm,0) into annual_salary from emp
10      where ename=name;
11      return annual_salary;
12    end;
13  end;
14  /
Package body created


3)调用包的过程或是函数

调用包的过程或是函数时,在过程和函数前需要带有包名。如果要访问其它方案的包,还需要在包名前加方案名。

SQL> call sp_package.update_sal('SCOTT',1500);


说明:包是pl/sql中非常重要的部分。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: