Plsql 在apex上执行pl sql时出错
我试图通过apex online运行以下代码Plsql 在apex上执行pl sql时出错,plsql,Plsql,我试图通过apex online运行以下代码 DECLARE t1 VARCHAR(44); t2 VARCHAR(11); c VARCHAR(3); BEGIN t1:='061,065,059,067,064,066,071,111,110,121,077.'; t2:=NULL; FOR I IN LENGTH(t1)/4 loop c:=SUBSTR(t1,((LENGTH(t1)/4),3); t2:
DECLARE
t1 VARCHAR(44);
t2 VARCHAR(11);
c VARCHAR(3);
BEGIN
t1:='061,065,059,067,064,066,071,111,110,121,077.';
t2:=NULL;
FOR I IN LENGTH(t1)/4
loop
c:=SUBSTR(t1,((LENGTH(t1)/4),3);
t2:=t2||CHR(TO_NUMBER(c));
end loop;
DBMS_OUTPUT.PUT_LINE(t2);
END;
但是得到了以下错误
ORA-06550: line 9, column 2:
PLS-00103: Encountered the symbol "LOOP" when expecting one of the following:
* & - + / at mod remainder rem .. <an exponent (**)> ||
试试这个:
DECLARE
t1 VARCHAR(50);
t2 VARCHAR(100);
c VARCHAR(50);
BEGIN
t1:='061,065,059,607,064,066,071,111,110,121,077.';
t2:=NULL;
FOR I IN 1..LENGTH(t1)/4 loop
c:=SUBSTR(t1,(LENGTH(t1)/4),3);
-- t2:=t2||CHR(TO_NUMBER(c));
t2:=t2||(c);
end loop;
DBMS_OUTPUT.PUT_LINE(t2);
END;
这并不能回答这个问题。若要评论或要求作者澄清,请在他们的帖子下方留下评论。@d_r_w是的:Elmer在长度上为I放置
(
),而他本应在1中为I放置。。LENGTH()
。噢,谢谢它工作了,但仍然出现了一个错误ORA-06502:PL/SQL:numeric或value错误:字符到数字的转换错误您期望的结果是什么。实际上,它已经是C和nou转换为数字,然后再次转换为字符。
FOR I IN 1..LENGTH(t1)/4 LOOP
END LOOP;
DECLARE
t1 VARCHAR(50);
t2 VARCHAR(100);
c VARCHAR(50);
BEGIN
t1:='061,065,059,607,064,066,071,111,110,121,077.';
t2:=NULL;
FOR I IN 1..LENGTH(t1)/4 loop
c:=SUBSTR(t1,(LENGTH(t1)/4),3);
-- t2:=t2||CHR(TO_NUMBER(c));
t2:=t2||(c);
end loop;
DBMS_OUTPUT.PUT_LINE(t2);
END;