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

स्तंभ नाम लाने के लिए Oracle क्वेरी

information_schema.COLUMNS . के लिए Oracle समकक्ष है USER_TAB_COLS वर्तमान उपयोगकर्ता के स्वामित्व वाली तालिकाओं के लिए, ALL_TAB_COLS या DBA_TAB_COLS सभी उपयोगकर्ताओं के स्वामित्व वाली तालिकाओं के लिए।

टेबलस्पेस एक स्कीमा के बराबर नहीं है, न ही आपको टेबलस्पेस नाम प्रदान करने की आवश्यकता है।

यदि आप ALL_TAB_COLS क्वेरी करना चाहते हैं तो स्कीमा/उपयोगकर्ता नाम प्रदान करना उपयोगी होगा या DBA_TAB_COLS किसी विशिष्ट उपयोगकर्ता के स्वामित्व वाली तालिकाओं के स्तंभों के लिए। आपके मामले में, मुझे लगता है कि क्वेरी कुछ इस तरह दिखेगी:

String sqlStr= "
SELECT column_name
  FROM all_tab_cols
 WHERE table_name = 'USERS'
   AND owner = '" +_db+ "'
   AND column_name NOT IN ( 'PASSWORD', 'VERSION', 'ID' )"

ध्यान दें कि इस दृष्टिकोण से, आप SQL इंजेक्शन का जोखिम उठाते हैं।

संपादित करें: तालिका और कॉलम नामों को अपरकेस किया क्योंकि ये आमतौर पर Oracle में अपरकेस होते हैं; वे केवल निचले- या मिश्रित मामले हैं यदि उनके चारों ओर दोहरे उद्धरण चिह्नों के साथ बनाए गए हैं।



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. डेटाबेस:पाइपलाइन कार्य

  2. Oracle एक्सप्रेस में ट्रिगर बनाना

  3. Oracle 10g एक तिथि में 5 अंकों का वर्ष स्वीकार करता है

  4. एक निश्चित समय अंतराल पर कुल कार्य

  5. क्या Oracle किसी त्रुटि पर लेन-देन वापस लेता है?