更新时间:2024-11-12 GMT+08:00
分享

PACKAGE

PACKAGE是一组相关存储过程、函数、变量、常量和游标等PL/SQL程序的组合,具有面向对象的特点,可以对PL/SQL程序设计元素进行封装。PACKAGE中的函数具有统一性,创建、删除、修改都统一进行。

PACKAGE包含包头(Package Specification)和Package Body两个部分,其中包头所包含的声明可以被外部函数、匿名块等访问,而在包体中包含的声明不能被外部函数、匿名块等访问,只能被包体内函数和存储过程等访问。

PACKAGE的创建请参见CREATE PACKAGE

  • 跨PACKAGE变量不支持作为FOR循环中控制变量使用。
  • PACKAGE中定义类型不支持删除、修改等操作,也不支持定义表。
  • 不支持以SCHEMA.PACKAGE.CURSOR的形式引用cursor变量。
  • 带参数的CURSOR仅支持在当前PACKAGE内打开。
  • 在分布式下,仅支持在ORA兼容性数据库中使用PACKAGE。
  • 在分布式下,当SQL语句中含有package内的变量、package内的函数时,不支持下推。
  • 不支持package变量作为函数或存储过程参数的默认值。
  • 如果PACKAGE内的存储过程入参包含伪类型(如:anyelement),不支持调用时传入变长类型的参数。

相关文档