删除包
用 DROP PACKAGE 命令对不需要的包进行删除,语法如下:
DROP PACKAGE [BODY] [user.]package_name;
示例如下:
obclient> drop package pkg_test ;
包的管理
使用如下程序包相关的视图可以查看包的信息和管理包:
USER_OBJECTS:查看数据库对象,可以用来列出包的名称,当前状态,创建时间等信息。
注意
包(PACKAGE)和包体(PACKAGE BODY)属于不同类型对象。
USER_SOURCE: 查看包和包体的内容。
USER_ERRORS: 如果上一次编译包或者包体时报错,可以在这个视图里查看错误消息。
示例 1**:当前用户下所有包的状态和创建时间**
obclient>select OBJECT_NAME,OBJECT_TYPE,CREATED,STATUS
from user_objects
where OBJECT_TYPE like 'PACKAGE%';
+-------------+-------------+-----------+---------+
| OBJECT_NAME | OBJECT_TYPE | CREATED | STATUS |
+-------------+-------------+-----------+---------+
| DEMO_PACK | PACKAGE | 17-DEC-20 | INVALID |
+-------------+-------------+-----------+---------+
1 row in set (0.00 sec)
示例 2:查看名为 DEMO_PACK 的包主体的内容
obclient>select TEXT from user_source
where TYPE='PACKAGE BODY'
and NAME='DEMO_PACK';
示例 3:查看包主体 PKG_TEST 上次编译时报错的信息和位置
obclient>select line,position,text
from USER_ERRORS
where NAME='PKG_TEST'
and TYPE='PACKAGE BODY';