Files
apollinare-catering-software/docs/functions/STRING_TO_TABLE_ENUM.md
2025-12-17 13:02:12 +01:00

27 lines
882 B
Markdown

# STRING_TO_TABLE_ENUM
## Codice Sorgente
```sql
FUNCTION "STRING_TO_TABLE_ENUM" (p_string VARCHAR2, v_level in number default 0, p_separator varchar2 default ':') RETURN ENUM_TABLE_TYPE pipelined IS
conta number := 0;
BEGIN
FOR c IN ( select ROW_NUMBER() OVER (ORDER BY ROWNUM) id, result
from (
with test as (
select p_string col
from dual
)
select nvl(regexp_substr(col, '[^' || p_separator || ']+', 1, level), '') result
from test
connect by level <= length(regexp_replace(col, '[^' || p_separator || ']+')) + 1)
)
LOOP
conta := conta + 1;
if v_level = 0 or ( v_level = conta ) then
pipe row(enum_table_object(c.id,c.result));
end if;
END LOOP;
RETURN;
END STRING_TO_TABLE_ENUM;```