Uit een antwoord op http://forums.oracle.com/forums/thread .jspa?messageID=1791550 dit zou kunnen werken, maar heb geen 10g om op te testen...
SELECT MIN(permutations)
FROM (SELECT REPLACE (SYS_CONNECT_BY_PATH (n, ','), ',') permutations
FROM (SELECT LEVEL l, SUBSTR ('&col', LEVEL, 1) n
FROM DUAL
CONNECT BY LEVEL <= LENGTH ('&col')) yourtable
CONNECT BY NOCYCLE l != PRIOR l)
WHERE LENGTH (permutations) = LENGTH ('&col')
In het voorbeeld col
is gedefinieerd in SQL*Plus, maar als je hier een functie van maakt, kun je het doorgeven, of het zou kunnen herwerken om direct een tabelkolom te nemen, veronderstel ik.
Ik zou dat eerder als uitgangspunt nemen dan als oplossing; de oorspronkelijke vraag ging over anagrammen, dus het is ontworpen om alle permutaties te vinden, dus iets soortgelijks maar vereenvoudigd zou mogelijk zijn. Ik vermoed dat dit niet erg goed schaalt voor grote waarden.