Oracle
 sql >> डेटाबेस >  >> RDS >> Oracle

Oracle में सभी तालिकाओं की सूची प्राप्त करें?

SELECT owner, table_name
  FROM dba_tables

यह मान रहा है कि आपके पास DBA_TABLES . तक पहुंच है डेटा शब्दकोश दृश्य। यदि आपके पास वे विशेषाधिकार नहीं हैं, लेकिन उनकी आवश्यकता है, तो आप अनुरोध कर सकते हैं कि DBA स्पष्ट रूप से आपको उस तालिका पर विशेषाधिकार प्रदान करें, या, यह कि DBA आपको SELECT ANY DICTIONARY प्रदान करता है। विशेषाधिकार या SELECT_CATALOG_ROLE role (इनमें से कोई भी आपको किसी भी डेटा डिक्शनरी टेबल को क्वेरी करने की अनुमति देगा)। बेशक, आप कुछ स्कीमा जैसे SYS . को बाहर करना चाह सकते हैं और SYSTEM जिसमें बड़ी संख्या में Oracle टेबल हैं जिनकी आपको शायद परवाह नहीं है।

वैकल्पिक रूप से, यदि आपके पास DBA_TABLES . तक पहुंच नहीं है , आप ALL_TABLES . के माध्यम से उन सभी तालिकाओं को देख सकते हैं जिन तक आपके खाते की पहुंच है देखें:

SELECT owner, table_name
  FROM all_tables

हालांकि, यह डेटाबेस में उपलब्ध तालिकाओं का एक सबसेट हो सकता है (ALL_TABLES आपको उन सभी तालिकाओं की जानकारी दिखाता है जिन तक आपके उपयोगकर्ता को पहुंच प्रदान की गई है)।

यदि आप केवल उन्हीं तालिकाओं के बारे में चिंतित हैं जिनके आप स्वामी हैं, न कि उन तालिकाओं से जिनकी आपकी पहुंच है, तो आप USER_TABLES का उपयोग कर सकते हैं :

SELECT table_name
  FROM user_tables

चूंकि USER_TABLES केवल आपके स्वामित्व वाली तालिकाओं के बारे में जानकारी है, इसका कोई OWNER नहीं है कॉलम - परिभाषा के अनुसार, स्वामी आप हैं।

Oracle में कई विरासती डेटा डिक्शनरी दृश्य भी हैं-- TAB , DICT , TABS , और CAT उदाहरण के लिए-- जिसका उपयोग किया जा सकता है। सामान्य तौर पर, मैं इन विरासत विचारों का उपयोग करने का सुझाव नहीं दूंगा जब तक कि आपको अपनी स्क्रिप्ट को Oracle 6 में बैकपोर्ट करने की आवश्यकता न हो। Oracle ने इन विचारों को लंबे समय में नहीं बदला है, इसलिए उन्हें अक्सर नए प्रकार की वस्तुओं के साथ समस्या होती है। उदाहरण के लिए, TAB और CAT दृश्य दोनों उन तालिकाओं के बारे में जानकारी दिखाते हैं जो उपयोगकर्ता के रीसायकल बिन में हैं जबकि [DBA|ALL|USER]_TABLES दृश्य सभी उन्हें फ़िल्टर कर देते हैं। CAT TABLE_TYPE . के साथ भौतिक दृश्य लॉग के बारे में जानकारी भी दिखाता है "टेबल" जो आप वास्तव में चाहते हैं वह होने की संभावना नहीं है। DICT तालिकाओं और समानार्थक शब्दों को जोड़ती है और आपको यह नहीं बताती कि वस्तु का स्वामी कौन है।



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. नकली OLAP

  2. यह निर्धारित करना कि Oracle में फ़ील्ड डेटा संख्या प्रकार का है

  3. ओरेकल में सबक्वेरी क्या है?

  4. एसक्यूएल * प्लस बाहर निकलने पर क्यों प्रतिबद्ध है?

  5. पीएल/एसक्यूएल में लूप का उपयोग करके आप एक ही क्वेरी को कई बार कैसे चला सकते हैं?