CREATE OR REPLACE PACKAGE BODY China IS
PROCEDURE I_DAILIINFO(REG_ID in varchar2,Output OUT varchar2);
end China;CREATE OR REPLACE PACKAGE BODY China IS
PROCEDURE I_DAILIINFO(v_REG_ID in varchar2,Output OUT varchar2)
AS
--定义游标
CURSOR myCursor IS SELECT * FROM dailireg WHERE reg_id=v_REG_ID;
r myCursor%ROWTYPE;
BEGIN
open myCursor;
FETCH myCursor into r;
--新增代理商
DECLARE DAILI_NUM NUMBER := 1;
DAILI_ID varchar2(50) := SYS_GUID();
BEGIN
--获取代理商的ID
select seq_daili_num.nextval into DAILI_NUM from dual;
--返回代理商的编号
Output := DAILI_NUM;
--向代理商标中插入数据
INSERT INTO dailiinfo(dl_id,pro,pro_id,city,city_id,corp_name,corp_adds,link_man,zw,tel,fax,net,emil,main_obj,start_time,corp_jj,ywnl,ip,begin_time,end_time,dl_number,dl_pwd)
VALUES(DAILI_ID,r.pro,r.pro_id,r.city,r.city_id,r.corp_name,r.corp_adds,r.link_man,r.zw,r.tel,r.fax,r.net,r.emil,r.main_obj,r.reg_time,r.corp_jj,r.ywnl,r.ip,sysdate,add_months(sysdate,+1*12),DAILI_NUM,DAILI_NUM);
--删除注册时代理商的临时表
DELETE FROM dailireg WHERE reg_id=v_REG_ID;
--向代理商账号中添加账户信息
INSERT INTO daili_zanghao(zh_id,dl_number,corp_name,money_class,money_xy,money_fd,ip)
VALUES (SYS_GUID(),DAILI_NUM,r.corp_name,'RMB',0,0,r.ip);
END;
close myCursor;
END I_DAILIINFO;
END China;以上代码报错:PACKAGE BODY MADEINCHINA.CHINA 编译错误
错误:PLS-00323: 子程序或游标 'I_DAILIINFO' 已在程序包说明中说明,必须在程序包体中对其进行定义。
行:75
文本:)
注:这段代码 前几天还对,昨天我多加了个存储过程 就一直报这个错,然后我把那个存储过程删掉,这个还是报错?
望大家帮忙解决下,解决问题了又加分。谢谢各位!!
PROCEDURE I_DAILIINFO(REG_ID in varchar2,Output OUT varchar2);
end China;这应该是包的定义,多了个body关键字
还有包与包体之间加个/
PROCEDURE I_DAILIINFO(REG_ID in varchar2,Output OUT varchar2);
end China;没有package定义,都是package body的定义把上面的改成package的定义
CREATE OR REPLACE PACKAGE China IS
PROCEDURE I_DAILIINFO(REG_ID in varchar2,Output OUT varchar2);
end China;
PROCEDURE I_DAILIINFO(REG_ID in varchar2,Output OUT varchar2);
end China;