Ayuda con esta expresión regular.

0 votos
preguntado por guelo (1,450 puntos)

Hola.

Por favor me puedes ayudar con esta expresión regular. Necesito Parcelar una declaración DML. 

En lv_from necesito dejar solo hasta el where ("FROM TAB1 JOIN TAB2" )
En lv_where necesito dejar solo hasta 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.*') 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;

Por favor, accede o regístrate para responder a esta pregunta.

Bienvenido a Preguntas y respuestas para programadores o profesionales de la informática. Si tienes cualquier duda aquí obtendrás la respuesta.
...