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

Oracle में SQL के माध्यम से तालिका टिप्पणियाँ कैसे प्राप्त करें?

जब हम DROP TABLE स्टेटमेंट जारी करते हैं तो 10g Oracle तुरंत टेबल नहीं छोड़ता है। इसके बजाय यह उनका नाम इस तरह रखता है BIN$IN1vjtqhTEKcWfn9PshHYg==$0 और उन्हें रीसायकल बिन में डाल देता है। यह हमें उन तालिकाओं को पुनर्प्राप्त करने की अनुमति देता है जिन्हें हम छोड़ना नहीं चाहते थे। और जानें

रीसायकल बिन में टेबल अभी भी टेबल हैं, इसलिए वे ALL_TABLES और इसी तरह के दृश्यों में दिखाई देते हैं। इसलिए यदि आप केवल लाइव (गैर-गिराए गए) तालिकाओं से संबंधित टिप्पणियां देखना चाहते हैं, तो आपको तालिका के नाम से फ़िल्टर करने की आवश्यकता है:

select * from all_tab_comments
where substr(table_name,1,4) != 'BIN$'
/

तुम सही हो, यह अविश्वसनीय होगा। इसलिए मैंने प्रलेखन की जाँच की, यह पता चला कि Oracle 10g ने USER_/ALL_/DBA_TABLES दृश्यों में DROPPED नामक एक कॉलम जोड़ा है।

select tc.* 
from all_tab_comments tc
     join all_tables t
     on tc.owner = t.owner
     and tc.table_name = t.table_name
where t.dropped = 'NO'
/

दस्तावेज देखें . स्पष्ट रूप से ALL_TABLES दृश्य में शामिल होने के लिए नाम पर फ़िल्टर करने की तुलना में अधिक टाइपिंग की आवश्यकता होती है, इसलिए हमारी आवश्यकता के आधार पर मूल WHERE क्लॉज को रखना आसान हो सकता है।



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Oracle त्रुटि:ORA-00900:अमान्य SQL कथन

  2. SQLPlus AUTO_INCREMENT त्रुटि

  3. Oracle SQL डेटाबेस में बड़ी मात्रा में डेटा लोड हो रहा है

  4. ओरेकल टाइप कास्टिंग

  5. पावरहेल से एसक्लप्लस में पैरामीटर के रूप में सूची कैसे सम्मिलित करें