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

ऑरैकल टेबल नाम केस को असंवेदनशील कैसे बनाएं?

[TL;DR] सबसे आसान काम यह है कि ऑब्जेक्ट नामों के आसपास कभी भी दोहरे उद्धरण चिह्नों का उपयोग न करें और केवल oracle को केस-सेंसिटिविटी को उसके डिफ़ॉल्ट तरीके से प्रबंधित करने दें।

Oracle डेटाबेस, डिफ़ॉल्ट रूप से, केस संवेदी होते हैं; हालांकि, वे डिफ़ॉल्ट रूप से, सब कुछ को अपर-केस में बदल देंगे ताकि केस संवेदनशीलता आप से, उपयोगकर्ता से अलग हो जाए।

CREATE TABLE tEsT ( column_name NUMBER );

फिर:

SELECT COUNT(*) FROM test;
SELECT COUNT(*) FROM Test;
SELECT COUNT(*) FROM TEST;
SELECT COUNT(*) FROM tEsT;

क्या सभी समान आउटपुट देंगे और:

SELECT * FROM USER_TABLES;

आउटपुट:

TABLE_NAME
----------
TEST 

(ध्यान दें कि टेबल का नाम अपर केस में है)।

यदि आप दोहरे उद्धरण चिह्नों का उपयोग करते हैं तो oracle तालिका नाम में आपके केस के उपयोग का सम्मान करेगा:

CREATE TABLE "tEsT" ( column_name NUMBER );

और:

SELECT * FROM USER_TABLES;

आउटपुट:

TABLE_NAME
----------
TEST 
tEsT

(नोट:अब दो टेबल हैं जिनका नाम TEST . है और tEsT और ऑरेकल ने दूसरे की केस संवेदनशीलता का सम्मान किया है - एक उद्धरण के साथ बनाया गया)।

(यह भी ध्यान दें:SELECT * FROM tEsT पहली तालिका से चयन करेगा, जिसे अपर-केस में बदल दिया गया है, लेकिन SELECT * FROM "tEsT" दूसरे से चयन करना आवश्यक है, भले ही प्रश्न उद्धरणों के अलावा समान हों)।




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. SQLcl (Oracle) में JSON स्वरूपित क्वेरी परिणामों को कैसे सुंदर बनाएं

  2. Oracle सिंटैक्स लेफ्ट तीन या अधिक तालिकाओं को जोड़ता है

  3. Oracle में DatedIFF फ़ंक्शन

  4. एक नया Oracle उपयोगकर्ता बनाएँ और विशेषाधिकार प्रदान करें:सिंटैक्स और उदाहरण

  5. Oracle में अल्पविराम से अलग किए गए मानों को विभाजित करना