Oracle包体PLS-00113:端标识符必须匹配

Oracle包体PLS-00113:端标识符必须匹配,oracle,plsql,Oracle,Plsql,我有一个包定义为: CREATE OR REPLACE PACKAGE "PKG_RVP_CALC_REPORT" IS PROCEDURE PRC_SHARINGLOSSAGREEMENTNAME ( I_SF_SUBSIDIARY_ID IN NUMBER, I_RVP_SCENARIO_ID IN NUMBER, I_RVP_CALC_REPORTING_DATE IN DATE, I_CURRENCY_ISO_CO

我有一个包定义为:

CREATE OR REPLACE PACKAGE "PKG_RVP_CALC_REPORT" IS

    PROCEDURE PRC_SHARINGLOSSAGREEMENTNAME (
        I_SF_SUBSIDIARY_ID IN NUMBER,
        I_RVP_SCENARIO_ID IN NUMBER,
        I_RVP_CALC_REPORTING_DATE IN DATE,
        I_CURRENCY_ISO_CODE IN VARCHAR2,
        o_VariableResult OUT SYS_REFCURSOR);

END "PKG_RVP_CALC_REPORT";
当我尝试定义包体时,收到错误:

PLS-00113:终端标识符“包装RVP计算报告”必须匹配 第1行第15列的“包装Rvp计算报告”

名字是一样的,它们都是大写的

CREATE OR REPLACE PACKAGE BODY "PKG_RVP_CALC_REPORT" IS

    PROCEDURE PRC_SHARINGLOSSAGREEMENTNAME (
        I_SF_SUBSIDIARY_ID IN NUMBER,
        I_RVP_SCENARIO_ID IN NUMBER,
        I_RVP_CALC_REPORTING_DATE IN DATE,
        I_CURRENCY_ISO_CODE IN VARCHAR2,
        o_VariableResult OUT SYS_REFCURSOR
    )
    IS
        baseIsoCode CONSTANT VARCHAR2(3)    := 'EUR';
        rateDate DATE;
    BEGIN
        OPEN o_VariableResult FOR
        select * from dual;

    END; --Procedure

END "PKG_RVP_CALC_REPORT";

我在本地数据库上运行这个。我重新启动了,并且成功地运行了完全相同的语句。它看起来像Oracle中的一个bug。

我无法复制。您确定
create
语句不是这样的吗<代码>创建或替换包体“包装Rvp计算报告”为。。。这将生成您发布的错误消息。我建议根本不要使用引号(“),因此无论对象(包)名称在
create
语句中如何显示,它们都将始终是大写的。错误消息清楚地表明您至少有一个地方使用了
“PKG\u Rvp\u Calc\u”报告“
而不是
“打包RVP\U计算报告”
。您应该遵循GriffeyDog的建议,不要在SQL或PL/SQL中使用双引号