oracle创建了存储过程,在PLSQL @路径 执行后报错

发布于 2022-09-06 03:22:48 字数 2313 浏览 18 评论 0

我的存储过程语句如下(文件.pck就这么点东西)

create or replace package pkg_ta_econtractsdeal is
/****************************************************************
* PROCEDURE: OpenEcontracts
* Describe : 开通电子合同功能
* Paramter :
* Return   : oRetStatus 方法调用结果
*            oRetMessage 方法调用返回信息
* Author   : panwq
* Date     : 2017-11-5 22:14:16       
***************************************************************/
PROCEDURE OpenEcontracts(
  oRetStatus OUT DEF_PKG.T_FLAG,
  oRetMessage OUT DEF_PKG.T_ERR_MSG
);
end pkg_ta_econtractsdeal;

/

CREATE OR REPLACE PACKAGE BODY pkg_ta_econtractsdeal IS

PROCEDURE OpenEcontracts(
  oRetStatus OUT DEF_PKG.T_FLAG,
  oRetMessage OUT DEF_PKG.T_ERR_MSG
) IS
  oRetStatus DEF_PKG.T_FLAG;
  oRetMessage DEF_PKG.T_ERR_MSG;
  
  CURSOR cur_agency IS
  SELECT t.* FROM tagencyinfo t WHERE NVL(t.c_enableecd,'0')='1' AND NVL(t.c_ecdversion,'99')='0';
BEGIN
  oRetStatus := DEF_PKG.FLAG_TRUE;
  oRetMessage := '';
  OPEN cur_agency;
  LOOP 
     FETCH cur_agency BULK COLLECT INTO vAgencyArray LIMIT def_pkg.INT_LIMIT;
     EXIT WHEN vAgencyArray.COUNT = 0;
     FOR i IN vAgencyArray.FIRST .. vAgencyArray.LAST LOOP
       INSERT INTO tagencyfiles (c_agencyno, l_fileno, c_typecode, c_versioncode, c_filename, c_filecode, c_enable)
       VALUES (vAgencyArray(i).c_agencyno,'33','InReqData','V100.01','#{DealCode}_XT_#{TACode}_#{ReqDate}_31.TXT','ECD-I','1');
       INSERT INTO tagencyfiles (c_agencyno, l_fileno, c_typecode, c_versioncode, c_filename, c_filecode, c_enable)
       VALUES (vAgencyArray(i).c_agencyno,'34','OutCfmData','V100.01','#{DealCode}_XT_#{TACode}_#{CfmDate}_32.TXT','ECD-O','1');
     END LOOP;
  END LOOP;
  close cur_agency;
END OpenEcontracts;
end pkg_ta_econtractsdeal;
/

==============================================

执行报错:
 SQL> @D:xxx.包\pkg_ta_econtractsdeal.pck;
Package created
Warning: Package body created with compilation errors

SQL> show error
Errors for PACKAGE BODY DTL.PKG_TA_ECONTRACTSDEAL:
LINE/COL ERROR
-------- ---------------------------------------------------------------------------------------------
3/1      PLS-00410: RECORD, TABLE 或参数列表中的字段不允许重复
3/1      PL/SQL: Item ignored
11/11    PLS-00323: 子程序或游标 'OPENECONTRACTS' 已在程序包说明中声明, 必须在程序包体中对其进行定义。

SQL> 

哪有问题呢?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文