2012-11-12 15 views
6

मैं ऑरैकल के साथ एक टेबल कैसे बना सकता हूं लेकिन छोटे अक्षरों के साथ, जब मैं छोटे अक्षरों वाली एक टेबल बनाता हूं तो यह ऑटो को पूंजी वर्णों में परिवर्तित करता है।मैं ऑरैकल के साथ एक टेबल कैसे बना सकता हूं लेकिन छोटे अक्षरों के साथ?

+0

आप क्या करना चाहते हैं? हमें अधिक जानकारी दें कृपया – semTex

+0

रिकॉर्ड को ऊपरी मामले में परिवर्तित किया जा रहा है या तालिका कॉलम निचले ऊपरी मामले में परिवर्तित हो रहे हैं? – user75ponic

+0

जब मैं इस क्वेरी निष्पादित "तालिका टी ( एक नंबर, ख varchar2 (10) ) बनाने" – user1384279

उत्तर

17

एएनएसआई एसक्यूएल मानक द्वारा ऊपरी मामले में फोल्डिंग (गैर-उद्धृत) तालिका नाम आवश्यक है।

आप एक उद्धृत पहचानकर्ता (फिर से इस एसक्यूएल मानक इस प्रकार है) का उपयोग कर लोअरकेस नाम के साथ तालिकाओं (और कॉलम) बना सकते हैं:

CREATE TABLE "foo" 
(
    "id"   integer, 
    "SomeColumn" varchar(100) 
); 

मैं तथापि दृढ़ता से आप नहीं करने की सलाह देंगे करना उस।

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

वजह निम्नलिखित बयान नहीं काम करेगा:

SELECT id, somecolumn FROM foo; 

आप एक उद्धृत पहचानकर्ता का उपयोग करना होगा:

SELECT "id", "SomeColumn" FROM "foo"; 

पर (उद्धृत) पहचानकर्ता अधिक जानकारी के लिए मैनुअल पढ़ें: http://docs.oracle.com/cd/E11882_01/server.112/e26088/sql_elements008.htm#i27561

+0

ग्रेट स्पष्टीकरण। + 1 – user75ponic

+1

किसी घोड़े के साथ सहमत नहीं है, जिसे मैंने देखा है और इसे इस्तेमाल करने वाले उत्पादन कोड को डीबग करना था, क्योंकि ऐप लिखने वाले लोग जावा डेवलपर थे, किसी कारण से ऊंट केस टेबल और कॉलम का उपयोग करके प्यार नाम, जैसे कि वे जावा में पहचानकर्ता टाइप करते हैं। यह ओरेकल में इसे बनाए रखने के लिए एक पूर्ण दुःस्वप्न है। आप लगभग कीबोर्ड पर फेंकने की तरह महसूस करते हैं जब आप सैकड़ों विचार देखते हैं जिसमें सभी मिश्रित केस कॉलम + नाम देखें और आपसे उनके खिलाफ कुछ एसक्यूएल ट्यून करने के लिए कहा जाता है। – DazzaL

0

उद्धरण चिह्नों में तालिका का नाम संलग्न करें (")। इसके अलावा इस

create table "t" (a number, b varchar2(10)); 

की तरह अपने तालिका बनाने के अब आप अपने तालिका नाम छोटे अक्षरों में t है। जब आप अपनी तालिका तक पहुंचते हैं, तो आपको हमेशा उद्धरण चिह्नों का उपयोग करना होगा। उदाहरण

लिए
select * from "t"; 

आप अन्य वस्तुओं के लिए एक ही निर्माण का उपयोग कर सकते (स्तंभों, अनुक्रमित, ...)।

वैसे भी, एसक्यूएल केस असंवेदनशील है, आपको केस आश्रित ऑब्जेक्ट नामों का उपयोग करने के लिए एक अच्छा कारण चाहिए।

संबंधित मुद्दे