包操作
包,就是将一部分相关的 PL/SQL 类型、项目和子程序等有计划的组织起来封装在一起。包通常包含两个部分:规范和主体。有时候包的主体部分并不是必须存在。
包的规范又叫包头,是应用程序的接口部分 (interface)。它通常包含类型、记录、变量、常量、异常、游标和子程序等的声明。任何可以在块中声明的语句都可以在包中使用。这些声明对于应用程序是可见的,应用程序可以调用它们。包体部分完整的定义了在包的规范部分声明的游标和子程序,从而实现包的规范。包体内的内容对于外部的应用程序来讲是不可见的,包体可以说是包头的代码部分。
可以把包的规范部分看成是一个操作或应用的接口部分,而包体被封装在一个黑匣子里,它的作用是实现包的规范,可以调试、改进和替换包体而无须改变包的规范部分。
下面创建一个 RUB_OBJECT 包,包中是一个重建表上索引的存储过程。包的使用是“包名称. 过程或者函数名称”。


说明:
包的修改只是在包体中进行,包头不可以进行修改。一般在创建一个比较大的包时,包头的函数或者过程必须写完全,否则在“REPLACE”(界面上的“存在则替换”) 时包体将找不到包头,从而丢掉包体,造成数据的丢失。
在控制台执行包的内部过程“rub_object.reb_index()”。
