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中使用双引号