oracle创建了存储过程,在PLSQL @路径 执行后报错
我的存储过程语句如下(文件.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 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论