Oracle - PARCEAR O DIVIDIR UNA CADENA

 
Vista:
sin imagen de perfil
Val: 17
Ha aumentado 1 puesto en Oracle (en relación al último mes)
Gráfica de Oracle

PARCEAR O DIVIDIR UNA CADENA

Publicado por Alejandro (10 intervenciones) el 29/10/2018 13:57:11
Hola expertos. Favor me pueden ayudar con este requerimiento.
Necesito parcelar un cadena que contiene una declaración DML y la necesito parcelar en 4 columnas
(SELEC, JOIN , WHERE , GROUP BY) esta declaración es variable es decir el SELECT no sera siempre el mismo sino dependerá de la solicitud del usuario.

Les adjunto mi código de prueba

select
regexp_replace('select campo1,campo2, etc from tab1 join tab2 where campo1 = campo2 group by campo1,campo2','from[^A-Z].*','' )lv_select,
regexp_substr('select campo1, campo2, etc from tab1 join tab2 where campo1 = campo2 group by campo1,campo2','from[^w]*') lv_join,
regexp_substr('select campo1, campo2, etc from tab1 join tab2 where campo1 = campo2 group by campo1,campo2','where.*') lv_where,
regexp_substr('select campo1, campo2, etc from tab1 join tab2 where campo1 = campo2 group by campo1,campo2','group[A-Z]*.*') lv_group
from dual;

En el JOIN y WHERE he tenido dificultadas, con el código que actualmente obtengo el Join funciona parcialmente, ya que si existiera una tabla que comience con W dejaría de funcionar

Necesito llegar a lo siguiente
JOIN: Comienza desde el FROM hasta la palabra WHERE
WHERE: Desde la palabra WHERE hasta la palabra GROUP BY

Desde ya les agradezco su colaboración y apoyo. Muchas Gracias a todos.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder