Pular para o conteúdo

Fóruns SQL e PL/SQL Porblema em uma Function que separa n entradas em um paramet Porblema em uma Function que separa n entradas em um paramet

#97620
charlles_jr
Participante

    Eduardo,

    Veja se este script te ajuda a entender melhor o que vc está querendo.

    Veja também se seu script poderia ficar de uma forma melhor…

    Qualquer Dúvida estou a disposição.

    Grande Abraço

    DECLARE
    v_string VARCHAR2(255) := ‘Oracle Applications Server EBS’;

    v_item CHAR(1) := ‘ ‘;

    v_idx_instr PLS_INTEGER := 0;
    v_idx_instr_old PLS_INTEGER := 0;

    v_idx_ocorr PLS_INTEGER := 1;

    v_valor VARCHAR2(255) := NULL;

    BEGIN

    LOOP

    v_idx_instr := INSTR(v_string, v_item, 1 , v_idx_ocorr);

    EXIT WHEN v_idx_instr = 0;

    v_valor := SUBSTR(v_string, v_idx_instr_old + 1, v_idx_instr – v_idx_instr_old );

    DBMS_OUTPUT.Put_Line( v_valor );

    v_idx_instr_old := v_idx_instr;

    v_idx_ocorr := v_idx_ocorr + 1;

    END LOOP;

    DBMS_OUTPUT.Put_Line( SUBSTR(v_string, v_idx_instr_old + 1, LENGTH(v_string) ));

    END;