Z odpowiedzi na http://forums.oracle.com/forums/thread .jspa?messageID=1791550 to może zadziałać, ale nie musisz testować na 10g...
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')
W przykładzie col
jest zdefiniowany w SQL*Plus, ale jeśli uczynisz tę funkcję, możesz ją przekazać lub przerobić ją, aby bezpośrednio wziąć kolumnę tabeli.
Traktuję to raczej jako punkt wyjścia niż rozwiązanie; oryginalne pytanie dotyczyło anagramów, więc zostało zaprojektowane tak, aby znaleźć wszystkie permutacje, więc coś podobnego, ale uproszczonego może być możliwe. Podejrzewam, że nie skaluje się to zbyt dobrze dla dużych wartości.