2010-06-10 17 views
26

मैं निम्न क्वेरी जो सूचकांक नाम और एक विशेष तालिका के लिए अपने कॉलम सूची जाएगा नीचे लिख में समानार्थी शब्द लगाने के लिए कैसे:टेबल, विचारों के लिए सभी अनुक्रमित और उनके कॉलम और ओरेकल

select 
b.uniqueness, a.index_name, a.table_name, a.column_name 
from all_ind_columns a, all_indexes b 
where a.index_name=b.index_name 
and a.table_name = upper('table_name') 
order by a.table_name, a.index_name, a.column_position; 

मैं संशोधित करना चाहते हैं ऐसा इसलिए है कि अगर मैं view या synonym में भी पास करता हूं तो यह भी काम करता है। हमारे सिस्टम में विचारों के समरूपताएं हैं, समानार्थी शब्द इसलिए यह वास्तव में उपयोगी होगा कि एक प्रश्न पूछने के लिए मैं केवल नाम की आपूर्ति कर सकता हूं (इसे समानार्थी या तालिका देखें) और यह इंडेक्स और उनके कॉलम को थूक देगा।

उत्तर

13

आपकी क्वेरी समानार्थी के साथ-साथ तालिकाओं के लिए भी काम करनी चाहिए। हालांकि, आप उन विचारों पर इंडेक्स की अपेक्षा करते हैं जहां नहीं हैं। शायद यह भौतिक विचार है?

+0

मुझे लगता है कि वह एक दृश्य – dpbradley

+1

उस मामले में के लिए निर्भर टेबल से अनुक्रमित चाहता है, यह मुश्किल हो सकता है, लेकिन यह के आधार पर किया जा सकता है ALL_DEPENDENCIES साथ और एक दृश्य के बाद से काम करने की जरूरत एक अन्य दृश्य, इसे शायद एक पदानुक्रमिक क्वेरी (कनेक्ट बाय) की भी आवश्यकता है। –

+0

समानार्थी भी विचारों को इंगित कर सकते हैं। –

0

SELECT * FROM user_cons_columns WHERE table_name = 'table_name';

+2

के लिए एक दृश्य बिंदु है यह केवल एक बाधा के हिस्से के रूप में बनाए गए इंडेक्स के लिए काम करता है। –

संबंधित मुद्दे