PLS-00103错误,请大家帮忙

gaosiyu0607 2008-10-15 08:18:49
本人是个菜鸟,在PL里编译时碰到个PLS-00103错误,请大家帮忙找找,谢谢~~~~~~~~~~
代码如下:
create or replace procedure tlbb.TLBBStoreBuyLog
(
v_sn in tl_server_log.sn%type,
v_group_id in tl_server_log.group_id%type,
v_server_ip in tl_server_log.SERVER_IP%type,
v_server_name in tl_server_log.server_name%type,
v_word in tl_server_log.word%type,
v_server in tl_server_log.server%type,
v_scene in tl_server_log.SCENE%type,
v_cn_guid in tl_server_log.cn_guid%type,
v_buy_time in varchar2,
v_jewel_total in tl_server_log.jewel_total%type,
v_cn in tl_server_log.cn%type,
v_character_put in tl_server_log.character_put%type,
v_ip in tl_server_log.ip%type,
v_memo in tl_server_log.memo%type,
r_myReturn out number
)
as

cout number(2);
errCode1 EXCEPTION;
v_substr varchar2(256);
pos number(5);
i number(5):=0;

begin

select count(cn) into cout from TL_SERVER_LOG where sn=v_sn;

if cout =0 then
v_substr := v_memo;
--???????????,'????? while i < 3 loop
pos := instr( v_substr, ',');
v_substr := substr( v_substr, pos+1);
dbms_output.put_line(v_substr);
i := i+1;
end loop;

--?????d
pos := instr( v_substr, ',');
v_substr := substr( v_substr,1, pos -1);

INSERT INTO TL_SERVER_LOG (ID,SN,GROUP_ID,SERVER_IP,SERVER_NAME,WORD,SERVER,SCENE,CN_GUID,BUY_TIME,
JEWEL_TOTAL,CN,CHARACTER_PUT,IP,MEMO,PUT_DATE,weaponid)
VALUES(SEQ_TL_SERVER_LOG_ID.NEXTVAL,v_sn,v_group_id,v_server_ip,v_server_name,v_word,v_server,
v_scene,v_cn_guid,to_date(v_buy_time,'yyyy-mm-dd hh24:mi:ss'),v_jewel_total,v_cn,v_character_put,v_ip,v_memo,sysdate,v_substr);

r_myReturn :=0;
commit;
else

r_myReturn := 2;
end if;
EXCEPTION
when OTHERS then
rollback;
r_myReturn := 3; --??????

end;
...全文
1618 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
mantisXF 2008-10-15
  • 打赏
  • 举报
回复
-- TRY THIS CODE:
CREATE OR REPLACE PROCEDURE TLBB.TLBBSTOREBUYLOG(V_SN IN TL_SERVER_LOG.SN%TYPE,
V_GROUP_ID IN TL_SERVER_LOG.GROUP_ID%TYPE,
V_SERVER_IP IN TL_SERVER_LOG.SERVER_IP%TYPE,
V_SERVER_NAME IN TL_SERVER_LOG.SERVER_NAME%TYPE,
V_WORD IN TL_SERVER_LOG.WORD%TYPE,
V_SERVER IN TL_SERVER_LOG.SERVER%TYPE,
V_SCENE IN TL_SERVER_LOG.SCENE%TYPE,
V_CN_GUID IN TL_SERVER_LOG.CN_GUID%TYPE,
V_BUY_TIME IN VARCHAR2,
V_JEWEL_TOTAL IN TL_SERVER_LOG.JEWEL_TOTAL%TYPE,
V_CN IN TL_SERVER_LOG.CN%TYPE,
V_CHARACTER_PUT IN TL_SERVER_LOG.CHARACTER_PUT%TYPE,
V_IP IN TL_SERVER_LOG.IP%TYPE,
V_MEMO IN TL_SERVER_LOG.MEMO%TYPE,
R_MYRETURN OUT NUMBER) AS

COUT NUMBER(2);
ERRCODE1 EXCEPTION;
V_SUBSTR VARCHAR2(256);
POS NUMBER(5);
I NUMBER(5) := 0;

BEGIN

SELECT COUNT(CN) INTO COUT FROM TL_SERVER_LOG WHERE SN = V_SN;

IF COUT = 0 THEN
V_SUBSTR := V_MEMO;
WHILE I < 3 LOOP
POS := INSTR(V_SUBSTR, ',');
V_SUBSTR := SUBSTR(V_SUBSTR, POS + 1);
DBMS_OUTPUT.PUT_LINE(V_SUBSTR);
I := I + 1;
END LOOP;

POS := INSTR(V_SUBSTR, ',');
V_SUBSTR := SUBSTR(V_SUBSTR, 1, POS - 1);

INSERT INTO TL_SERVER_LOG
(ID,
SN,
GROUP_ID,
SERVER_IP,
SERVER_NAME,
WORD,
SERVER,
SCENE,
CN_GUID,
BUY_TIME,
JEWEL_TOTAL,
CN,
CHARACTER_PUT,
IP,
MEMO,
PUT_DATE,
WEAPONID)
VALUES
(SEQ_TL_SERVER_LOG_ID.NEXTVAL,
V_SN,
V_GROUP_ID,
V_SERVER_IP,
V_SERVER_NAME,
V_WORD,
V_SERVER,
V_SCENE,
V_CN_GUID,
TO_DATE(V_BUY_TIME, 'YYYY-MM-DD HH24:MI:SS'),
V_JEWEL_TOTAL,
V_CN,
V_CHARACTER_PUT,
V_IP,
V_MEMO,
SYSDATE,
V_SUBSTR);

R_MYRETURN := 0;
COMMIT;
ELSE

R_MYRETURN := 2;
END IF;
EXCEPTION
WHEN OTHERS THEN
ROLLBACK;
R_MYRETURN := 3;

END;
[Quote=引用 2 楼 gaosiyu0607 的回复:]
end loop else EXCEPTION 这三个报错
[/Quote]
Tony2251 2008-10-15
  • 打赏
  • 举报
回复
PLS-00103: %s
Cause: This error message is from the parser. It found a token (language element) that is inappropriate in this context.
Action: Check previous tokens as well as the one given in the error message. The line and column numbers given in the error message refer to the end of the faulty language construct.
gaosiyu0607 2008-10-15
  • 打赏
  • 举报
回复
end loop else EXCEPTION 这三个报错
mantisXF 2008-10-15
  • 打赏
  • 举报
回复
哪一行代码报错?[Quote=引用楼主 gaosiyu0607 的帖子:]
本人是个菜鸟,在PL里编译时碰到个PLS-00103错误,请大家帮忙找找,谢谢~~~~~~~~~~
代码如下:
create or replace procedure tlbb.TLBBStoreBuyLog
(
v_sn in tl_server_log.sn%type,
v_group_id in tl_server_log.group_id%type,
v_server_ip in tl_server_log.SERVER_IP%type,
v_server_name in tl_server_log.server_name%type,
v_word in tl_server_log.word%type,
v_server in tl_server_log.server%type…
[/Quote]

17,377

社区成员

发帖
与我相关
我的任务
社区描述
Oracle 基础和管理
社区管理员
  • 基础和管理社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧