使用程序包
调用包规范中声明的对象可以使用点标记。
语法格式
pack_use::=
package_name.subprogram_name
参数说明
package_name
:包的名称,即包含子程序的包。必须与创建包时定义的名称完全匹配。subprogram_name
:包内子程序的名称,可以是过程(Procedure)或函数(Function)。
包对象内的成员对象访问与普通对象访问类似,使用包仅仅起到封装作用。同时经过包封装,应用程序在调用包时即编译包对象,并将对象信息加载至缓存,后续调用无需再次编译以提高使用性能。
示例
对包的创建章节的示例进行使用,输出DBA_TABLES系统表中表名。
sql
BEGIN
-- 调用 pack_test 包中的 proc1 过程
pack_test.proc1;
EXCEPTION
WHEN OTHERS THEN
-- 处理可能发生的异常
DBMS_OUTPUT.PUT_LINE('Error calling pack_test.proc1: ' || SQLERRM);
END;
/
-- 输出
TEST_PERMISSION
TEST_COL_PRE
OBJ_TAB
SPATIAL_REF_SYS
VARRY_TAB
USERS
TEST_PROC_TAB