package
包是一组相关过程、函数、变量、常量#SinaEditor_Temp_FontName、类型和游标等PL/SQL程序设计元素的组合。包具有面向对象设计的特点,是对这些PL/SQL程序设计元素的封装。一个包由两个分开的部分组成:
(1)包package声明或定义:包定义部分是创建包的规范说明,声明包内数据类型、变量、常量、游标等元素。这部分也是为使用者提供了透明的接口。
(2)包体packpage body:包体是包定义部分的具体实现。
(3)将有联系的对象打成包,方便使用
(4)包中对象包括储存过程,函数,游标,自定义类型和变量,可以在PL_SQL块中应用这些对象.
只有当包头编辑成功后才能编辑包体.其中的函数名与过程名须和包头中的函数过程一样.
1 包说明和包体必须有相同的名字
2 包的开始没有begin语句,与存储过程和函数不同。
3 在包的说明部分定义函数和过程的名称和参数,具体实现在包体中定义。
4 在包内声明常量、变量、类型定义、异常、及游标时不使用declare。
5 包内的过程和函数的定义不要create or replace语句。
6 包声明和包体两者分离。
Oracle 内置包
1.DBMS_ALERT包:用于数据库报警,允许会话间通信
2.DBMS_JOB:用于任务调度服务
3.DBMS_LOB:用于处理大对象操作
4.DBMS_PIPE包:用于数据库管道,允许会话间通信
5.DBMS_SQL包:用于执行动态SQL
6.UTL_FILE包:用于文件的输入输出
除了UTL_FILE包存储在服务器和客户端外,其他的包均存储在服务器中
现有的存储过程或者函数加入到Package中,只需拷贝相应内容至对应的声明和定义部分
参考:
http://blog.csdn.net/paul50060049/article/details/51714555