Plsql 在apex上执行pl sql时出错

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:

我试图通过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:=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;