http://forums.oracle.com/forums/thread पर दिए गए जवाब से .jspa?messageID=1791550 यह काम कर सकता है, लेकिन परीक्षण के लिए 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')
उदाहरण में col
एसक्यूएल * प्लस में परिभाषित किया गया है, लेकिन अगर आप इसे एक फ़ंक्शन बनाते हैं तो आप इसे पास कर सकते हैं, या मुझे लगता है कि सीधे टेबल कॉलम लेने के लिए इसे फिर से काम कर सकते हैं।
मैं इसे समाधान के बजाय प्रारंभ बिंदु के रूप में लेता हूं; मूल प्रश्न विपर्यय के बारे में था इसलिए इसे सभी क्रमपरिवर्तनों को खोजने के लिए डिज़ाइन किया गया है, इसलिए कुछ समान लेकिन सरलीकृत संभव हो सकता है। मुझे संदेह है कि यह बड़े मूल्यों के लिए बहुत अच्छा नहीं है।