Así es como podría crear una tabla de este tipo:
SELECT LEVEL AS id, REGEXP_SUBSTR('A,B,C,D', '[^,]+', 1, LEVEL) AS data
FROM dual
CONNECT BY REGEXP_SUBSTR('A,B,C,D', '[^,]+', 1, LEVEL) IS NOT NULL;
Con un poco de ajuste (es decir, reemplazando el ,
en [^,]
con una variable) podría escribir una función de este tipo para devolver una tabla.