Initial commit
This commit is contained in:
26
docs/functions/STRING_TO_TABLE_ENUM.md
Normal file
26
docs/functions/STRING_TO_TABLE_ENUM.md
Normal file
@@ -0,0 +1,26 @@
|
||||
# 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;```
|
||||
Reference in New Issue
Block a user