DECLARE
v_string_to_parse VARCHAR2(32767) := '12617980;12629006;12629024;12628941;12628949;12628971;12628999;';
v_count NUMBER;
v_value VARCHAR2(32767); BEGIN
--v_string_to_parse
:= v_string_to_parse || ';'; -- Если в конце нет ';'? то добавляем ее
v_count := LENGTH(v_string_to_parse) - LENGTH(REPLACE(v_string_to_parse, ';', ''));
FOR i IN 1 .. v_count
LOOP
SELECT regexp_substr(v_string_to_parse, '[^;]+', 1, i)
INTO v_value
FROM dual;
dbms_output.put_line(v_value);
END LOOP; END;
|