आप USER_TAB_COLUMNS
ढूंढ रहे हैं - क्वेरी में निष्पादित स्कीमा में सभी कॉलम और उनके विवरण - या ALL_TAB_COLUMNS
- उन सभी तालिकाओं को छोड़कर जिन्हें उपयोगकर्ता को देखने की अनुमति है।
एक सामान्य क्वेरी हो सकती है:
select *
from user_tab_columns
where table_name = 'MY_TABLE'
order by column_id
column_id
तालिका में कॉलम का "आदेश" है।
आपको यह सुनिश्चित करना चाहिए कि 'MY_TABLE' बड़े अक्षरों में है जब तक कि आप केसिंग (एक बुरा विचार) के साथ टेबल नहीं जोड़ रहे हैं, इस स्थिति में आपको = "MyTable"
जैसी किसी चीज़ का उपयोग करने की आवश्यकता है। .
विशेष रूप से desc
निम्नलिखित के बराबर है जिसे मैंने ss64 से चुराया है, जो एक अच्छा Oracle संसाधन है:
select column_name as "Name"
, nullable as "Null?"
, concat(concat(concat(data_type,'('),data_length),')') as "Type"
from user_tab_columns
where table_name = 'MY_TABLE';
आप select * from dictionary
. द्वारा इस प्रकार के सभी दृश्य प्राप्त कर सकते हैं , जो डेटा डिक्शनरी का शीर्ष स्तर है या दस्तावेज़ीकरण को देखकर।
DBA_TAB_COLUMNS
. भी है , जो ALL_TAB_COLUMNS
. के समान है , लेकिन डेटाबेस में प्रत्येक तालिका के लिए। यह मानता है कि आपके पास इसे और तालिकाओं दोनों को देखने का विशेषाधिकार है। यदि आपके पास इस तालिका तक पहुंच नहीं है, तो आपको SELECT ANY DICTIONARY
प्रदान करने के लिए आपको अपना डीबीए प्राप्त करने की आवश्यकता है। विशेषाधिकार।