Parcelar DML con REGEXP_SUBSTR
Publicado por Alejandro (10 intervenciones) el 18/10/2018 14:26:32
Hola. Por favor me pueden ayudar a parcelar una declaración DML, necesito poder separar el Select , Join , Where, Group By en campos independientes. En el ejemplo puse un dml en duro pero esto es una variable dinámica que ira cambiando.
En mi codigo necesito ayuda para los campos lv_join y lv_where:
lv_join debe empezar desde el "from" hasta donde comienza el "where" : (from tab1 join tab2)
lv_where debe empezar desde el "where" hasta donde comienza el "group by" : (where campo1 = campo2)
select
regexp_replace('select campo1,campo2 from tab1 join tab2 where campo1 = campo2 group by campo1,campo2','from[^A-Z].*','')lv_select,
regexp_substr('select campo1, campo2 from tab1 join tab2 where campo1 = campo2 group by campo1,campo2','from ( where)') lv_join,
regexp_substr('select campo1, campo2 from tab1 join tab2 where campo1 = campo2 group by campo1,campo2','where.*') lv_where,
regexp_substr('select campo1, campo2 from tab1 join tab2 where campo1 = campo2 group by campo1,campo2','group[A-Z]*.*') lv_group
from dual;
En mi codigo necesito ayuda para los campos lv_join y lv_where:
lv_join debe empezar desde el "from" hasta donde comienza el "where" : (from tab1 join tab2)
lv_where debe empezar desde el "where" hasta donde comienza el "group by" : (where campo1 = campo2)
select
regexp_replace('select campo1,campo2 from tab1 join tab2 where campo1 = campo2 group by campo1,campo2','from[^A-Z].*','')lv_select,
regexp_substr('select campo1, campo2 from tab1 join tab2 where campo1 = campo2 group by campo1,campo2','from ( where)') lv_join,
regexp_substr('select campo1, campo2 from tab1 join tab2 where campo1 = campo2 group by campo1,campo2','where.*') lv_where,
regexp_substr('select campo1, campo2 from tab1 join tab2 where campo1 = campo2 group by campo1,campo2','group[A-Z]*.*') lv_group
from dual;
Valora esta pregunta


0