PolarDB PostgreSQL版(兼容Oracle)的包是由包规格和包正文两个主要的部分构成的。
- 包规格:这是一个公有接口(公有成员可以在包的外部引用)。我们在包定义中声明所有包含在包中数据库对象。
- 包正文:包含包定义内部声明的所有数据库对象的具体应用实现。
包主体的内容是包定义中的所有对象具体定义实现,包括对成员定义的具体实现和对外部程序不可见的私有成员声明信息。所以,我们可以调试,增强或替代一个包主体,而无需改变包的定义。类似的,我们能够改变包主体而无需重新编译调用包的程序,因为对于这些程序来说,具体的实现信息是不可见的。