ORACLE不常用冷知识之Package

Oracle 中 Package使用

包分为两部分:包头和包体.

a. 包头:

CREATE OR REPLACE PACKAGE package_name /包头名称/

IS|AS pl/sql_package_spec /定义过程,函数以及返回类型,变量,常量及数据类型定义/

定义包头应当遵循以下原则:

b. 包体:

CREATE OR REPLACE PACKAGE BODY package_name/包名必须与包头的包名一致/

IS | AS pl/sql_package_body /游标,函数,过程的具体定义/

包体是与包头相互独立的,包体只能在包头完成编译后才能进行编译.包体中带有包头中描述的子程序的具体实现的代码段.除此之外,包体还可以包括具有包体人全句属性的附加声明部分,但这些附加声明对于包头是不见的.

c. 使用好处:首先,良好设计的包是对象(如:函数、过程、全局变量和游标等)的逻辑分组。当第一次调用包时,所有的代码(分析树和伪码)被加载到内存(Oracle服务器的共享全局区域SGA)这意味着,第一次调用包的成本是非常高德(会涉及服务器的大量处理活动)。但是随后调用的处理器性能会比较高。因此,在应用程序中使用包,能够比较经济的反复使用过程和函数。

例: 可参看本号文章《oracle单维数组、多维数组》中有实例


分享到:


相關文章: