oracle PL/SQL 包的介绍

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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 包的介绍的主要内容,如果未能解决你的问题,请参考以下文章

使用 utl_smtp 包的 PL/SQL 中的多个附件问题

Oracle PL/SQL 过程运行速度比 SQL 慢

如何轻松分析 Oracle 包的执行以发现性能问题?

oracle unwrap解密工具

SQL记录-PLSQL包

PL-SQL 包的创建和应用