首页 > 代码库 > oracle PL/SQL 包的介绍(四)

oracle PL/SQL 包的介绍(四)

PL/SQL 的包
1.逻辑相关的组件的组合 (变量,数据结构,异常,存储过程,函数)
2.组成 : 定义 和 包体

-- 组成
包头 : PUBLIC
包体 : PRIVATE

 

-- 包头的语法  

1 CREATE OR REPLACE PACKAGE package_name IS|AS
2 PUBLIC TYPE AND VARIABLE declarations
3 subprogram specifications
4 END [package_name];

--实例

1 CREATE OR REPLACE PACKAGE comm_pkg IS|AS
2  std_comm NUMBER := 0.10; --变量
3  PROCEDURE reset_comm(new_comm NUMBER); -- 存储过程
4 END comm_pkg;

 

--包体的语法

--tips :查找包编译错误 :select * from user_errors where name=‘COMM_PKG‘;(包名大写)

 1 CREATE OR REPLACE PACKAGE BODY comm_pkg IS
 2 -- 函数
 3 FUNCTION validate_comm(comm NUMBER) RETURN BOOLEAN IS
 4   max_comm employees.commission_pct%TYPE;
 5 BEGIN
 6     SELECT MAX(commission_pct) INTO max_comm FROM employees;
 7     RETURN (comm BETWEEN 0.0 AND max_comm);
 8 END validate_comm;
 9 --存储过程
10 PROCEDURE reset_comm(new_comm NUMBER) IS
11 BEGIN
12   IF validate_comm(new_comm) THEN
13     std_comm := new_comm;
14   ELSE 
15     raise_application_error(-20210,bad commission);
16   END IF;
17 END reset_comm;
18 
19 END comm_pkg;

 

oracle PL/SQL 包的介绍(四)