Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/oracle/10.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Database 如何在不删除包的情况下更改oracle包_Database_Oracle_Package_Alter - Fatal编程技术网

Database 如何在不删除包的情况下更改oracle包

Database 如何在不删除包的情况下更改oracle包,database,oracle,package,alter,Database,Oracle,Package,Alter,我需要在不删除包的情况下向该包添加函数吗?只需添加另一个函数 DROP PACKAGE BANINST1.SB_ENROLLMENT CREATE OR REPLACE PACKAGE BANINST1.sb_enrollment AS FUNCTION f_query_all_active_ptrm () RETURN enrollment_ref; END sb_enrollment; DROP PACKAGE BODY BANI

我需要在不删除包的情况下向该包添加函数吗?只需添加另一个函数

    DROP PACKAGE BANINST1.SB_ENROLLMENT
    CREATE OR REPLACE PACKAGE BANINST1.sb_enrollment AS
     FUNCTION f_query_all_active_ptrm ()
          RETURN enrollment_ref;
    END sb_enrollment;
    DROP PACKAGE BODY BANINST1.SB_ENROLLMENT
    /


    CREATE OR REPLACE PACKAGE BODY BANINST1.sb_enrollment AS
    FUNCTION f_query_all_active_ptrm ()
          RETURN enrollment_ref;
       BEGIN
       END f_query_all_active_ptrm;
    END sb_enrollment;

您不能
更改
包以添加新函数。但是,由于您使用的是
CREATE或REPLACE
,因此无需
删除包或包体。由于包是单个对象,因此需要替换包规范和包体(因此需要包含所有现有函数和过程)

创建或替换包BANINST1.sb\u注册
作为
函数f\u查询\u所有\u活动\u ptrm()
返回注册参考;
新函数\u函数\u名称
返回号码;
结束某人的入学;
创建或替换包体BANINST1.sb_注册
作为
函数f\u查询\u所有\u活动\u ptrm()
返回注册参考;
开始
结束f_查询\u所有活动\u ptrm;
新函数\u函数\u名称
返回号码
是
开始
返回1;
结束;
结束某人的入学;

您不能
更改程序包以添加新功能。但是,由于您使用的是
CREATE或REPLACE
,因此无需
删除包或包体。由于包是单个对象,因此需要替换包规范和包体(因此需要包含所有现有函数和过程)

创建或替换包BANINST1.sb\u注册
作为
函数f\u查询\u所有\u活动\u ptrm()
返回注册参考;
新函数\u函数\u名称
返回号码;
结束某人的入学;
创建或替换包体BANINST1.sb_注册
作为
函数f\u查询\u所有\u活动\u ptrm()
返回注册参考;
开始
结束f_查询\u所有活动\u ptrm;
新函数\u函数\u名称
返回号码
是
开始
返回1;
结束;
结束某人的入学;
CREATE OR REPLACE PACKAGE BANINST1.sb_enrollment 
AS
  FUNCTION f_query_all_active_ptrm ()
    RETURN enrollment_ref;

  FUNCTION new_function_name
    RETURN number;
END sb_enrollment;

CREATE OR REPLACE PACKAGE BODY BANINST1.sb_enrollment 
AS
  FUNCTION f_query_all_active_ptrm ()
    RETURN enrollment_ref;
   BEGIN
     <<some implementation>>
   END f_query_all_active_ptrm;

  FUNCTION new_function_name
    RETURN number
  IS
  BEGIN
    RETURN 1;
  END;
END sb_enrollment;