可以利用包(package)将过程和函数安排在逻辑分组中。包含有两个分离的部件;包说明(规范、包头)和包体(主体)。包说明和包体都存储在数据字典中。包与过程和函数的一个明显的区别时,包仅能存储在非本地的数据库中。除了允许相关的对象结合为组之外,包与依赖性较强的存储子程序相比其所收的限制较少。除此之外,包的效率比较高。
从本质上讲,包是一个命名的声明部分。任何可以出现在块声明中的语句都可以在包中使用,这些语句包括过程、函数、游标、类型和变量。把上述内容放入包中的好处是,用户可以从其他PL/SQL块中对其进行引用,包为PL/SQL语言提供了全程变量。
