公司需求知识自学-Oracle的Package的作用及用法(二)

2014-11-24 12:32:58 · 作者: · 浏览: 1
类型上不同时不能重载.
2.不能根据两个函数的返回类型对其重载
如:
FUNCTION overloadMeETooRETURN DATE;
FUNCTION overloadMeETooRETURN NUMER;
3.重载子程序的参数的类族必须不同,例如,由于CHAR和VARCHAR2属性同一类族,所以不能重载 .
PROCEDURE overloadME(p_theparameterIN char);
PROCEDURE overloadME(p_theparameterIN varchar2);
4.打包子程序也可以重载
5.包的初始化.
当第一次调用打包子程序时,该包将进行初始化.也就是说,将该包从硬盘中读入到内存,并启用调用的子程序的编译代码.这时, 系统为该包中定义的所有变量分配内存单元.每个会话都有打其打开包变量的副本,以确保执行同一个包子程序的两个会话使用不同的内存单元.
在大多数情况下,初始化代码要在包第一次初始化时运行.为了实现这一功能,可以在包体中的所有对象之后加入一个初始化代码 .
语法格式:
CREATE OR REPLACE PACKAGE BODYpackage_name
IS|AS
............
BEGIN
Initialization_code;--要运行的初始化代码

END ;

ORACLE 内置包
1.DBMS_ALERT包:用于数据库报警,允许会话间通信
2.DBMS_JOB:用于任务调度服务
3.DBMS_LOB:用于处理大对象操作
4.DBMS_PIPE包:用于数据库管道,允许会话间通信
5.DBMS_SQL包:用于执行动态SQL
6.UTL_FILE包:用于文件的输入输出
除了UTL_FILE包存储在服务器和客户端外,其他的包均存储在服务器中