जब हम 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'
/