Gracias sarwar, he resuelto el query, utilice SQL, sin PL, gracias por tu ayuda, es buena tu propuesta pero queria resolverlo en un query sin utilizar funciones y lo he conseguido, aqui os comparto la solución:
DESDE (n) POSICIONES...
Código SQL:
Ver originalSELECT X+1 X,VAL,V1,R2,V2,
SUBSTR(REGEXP_SUBSTR(VAL,'[^*]+',1,X),1,V2)R3,SUBSTR(REGEXP_SUBSTR(VAL,'[^*]+',1,X),V2+LENGTH(LENGTH(V2)))V3 FROM(
SELECT X+1 X,VAL,V1,
SUBSTR(REGEXP_SUBSTR(VAL,'[^*]+',1,X),1,V1)R2,SUBSTR(REGEXP_SUBSTR(VAL,'[^*]+',1,X),V1+LENGTH(LENGTH(V1)))V2 FROM(
SELECT X+1 X,VAL, REGEXP_SUBSTR(VAL,'[^*]+',1,X)V1 FROM (
SELECT 1 X,CADENA_CON_ASTERISCOS VAL FROM TABLA_X WHERE X='Y')))
... HASTA (n) posiciones;
y el numero de lineas depende que cuantos SPLIT queramos obtener, de ser 10 llegaríamos hasta V10, R9, y EN EL SELECT AGREGANDO LAS COLUMNAS QUE HEMOS OBTENIDO EN LA SUBCONSULTA ANIDADA, SALUDOS!! ....