Voici comment créer un tel tableau :
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;
Avec un peu de peaufinage (c'est-à-dire en remplaçant le ,
dans [^,]
avec une variable), vous pourriez écrire une telle fonction pour renvoyer une table.