Aus einer Antwort unter http://forums.oracle.com/forums/thread .jspa?messageID=1791550 das könnte funktionieren, aber ich habe keine 10g zum 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')
Im Beispiel col
ist in SQL*Plus definiert, aber wenn Sie daraus eine Funktion machen, können Sie sie übergeben oder sie so überarbeiten, dass sie direkt eine Tabellenspalte übernimmt, nehme ich an.
Ich würde das eher als Ausgangspunkt denn als Lösung nehmen; Die ursprüngliche Frage bezog sich auf Anagramme, daher wurde sie entwickelt, um alle Permutationen zu finden, sodass etwas Ähnliches, aber Vereinfachtes möglich sein könnte. Ich vermute, dass dies für große Werte nicht sehr gut skaliert.