一、包 PACKAGE
包可以将任何出现在块声明的语句 ( 过程 , 函数 , 游标 , 游标 , 类型 , 变量 ) 放于包中 , 相当于一个容器 . 将声明语句放入包中的好处是 : 用户可以从其他 PL/SQL 块中对其进行引用 , 因此包为 PL/SQL 提供了全程变量 .
1、数据库中的包由包头(package)和包体(package body)组成
--包的定义
--包头
CREATE OR REPLACE PACKAGE 包名 IS|AS
FUNCTION FUN1 ...RETURN ... --函数
...
PROCEDURE PRO1... --存过
....
CURSOR .... --游标
变量... --全局变量
END 包名;
--包体
CREATE OR REPLACE PACKAGE BODY 包名 IS|AS
函数fun或者存过pro 的具体实现部分
END 包名;
创建一个包 包含fun1 pro1 pro2
fun1 输入一个员工编号 返回部门名称
pro1 输入一个员工编号 输出部门平均工资和人数
pro2 输入一个姓名 打印他的名字和经理的名字
CREATE OR REPLACE PACKAGE PKG_1 IS
FUNCTION FUN1(V_EMPNO NUMBER) RETURN VARCHAR2;
PROCEDURE PRO1(V_EMPNO NUMBER,V_S OUT NUMBER,V_C OUT NUMBER);
PROCEDURE PRO2(V_E VARCHAR2);
END PKG_1;
CREATE OR REPLACE PACKAGE BODY PKG_1 IS
-----------
FUNCTION FUN1(V_EMPNO NUMBER) RETURN VA