Skip to content

使用程序包

调用包规范中声明的对象可以使用点标记。

语法格式

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