Skip to Main Content

SQL & PL/SQL

Announcement

For appeals, questions and feedback about Oracle Forums, please email oracle-forums-moderators_us@oracle.com. Technical questions should be asked in the appropriate category. Thank you!

Stuck with ' arguement '0' is out of range '....Need humble help

Ora_DB_LearnerJan 7 2014 — edited Jan 7 2014


Hi All,

        Time i ran this query with only one row, it works fine but with multiple rows, it shows error arguement '0' is out of range.

        What i understand that may be array location is missing some value, what it is expected.

        Please help. Also it would be helpful if you redirect me to some similar threads. Thanks

DECLARE
L_STR VARCHAR2(100);
L_NUM NUMBER;
N NUMBER := 1;
K NUMBER;
L_EMP VARCHAR2(50);
BEGIN
    FOR J IN (WITH TEMP AS (  SELECT 'FXDQE04|Reuters_Code|4^FXDQE05|Thomson_Code|5^FXDQE06|Jameson_Code|6' EXCEPTION_RECORD FROM DUAL
                                               UNION
                                               SELECT 'FXDQE07|Reuters_Code|7^FXDQE08|Thomson_Code|8^FXDQE09|Jameson_Code|9' EXCEPTION_RECORD FROM DUAL)
                    SELECT EXCEPTION_RECORD FROM TEMP)
        LOOP
           L_STR:=J.EXCEPTION_RECORD;
              BEGIN
                    SELECT LENGTH(L_STR)-LENGTH(REPLACE(L_STR,'^')) INTO L_NUM FROM DUAL;
                    DBMS_OUTPUT.PUT_LINE(L_NUM);
                    DBMS_OUTPUT.PUT_LINE(L_STR);
                      IF L_NUM=0 THEN
                         DBMS_OUTPUT.PUT_LINE(L_STR);
                      ELSE
                        FOR I IN 1..L_NUM+1
                            LOOP
                            SELECT SUBSTR(L_STR,N,DECODE(I-L_NUM,1,LENGTH(L_STR),
                                           DECODE(N,1,INSTR(L_STR,'^',1,I),INSTR(L_STR,'^',1,I) - INSTR(L_STR,'^',1,I-1))))
                            INTO L_EMP FROM DUAL;

                             DBMS_OUTPUT.PUT_LINE(L_EMP);
                            N := N+LENGTH(L_EMP);
                            END LOOP;
                       END IF;
                END;
            END LOOP;
END;

Comments
Locked Post
New comments cannot be posted to this locked post.
Post Details
Locked on Feb 4 2014
Added on Jan 7 2014
1 comment
425 views