मैं कोड स्कीमा घोषणा नीचे है कि समर्थन कर रहा हूँ: -varchar2 (एन बाइट | CHAR) डिफ़ॉल्ट -> CHAR या बाइट
create table sample (
id number Primary key,
username varchar2(100),
);
मैं & varchar2 दो घोषणा मोड varchar2 ओरेकल प्रलेखन पर देखा (एन BYTE) और varchar2 (n CHAR), अगर मैं स्पष्ट रूप से BYTE या CHAR & निर्दिष्ट नहीं करता हूं तो उपयोगकर्ता नाम Varchar2 (500) घोषित करें तो 500 BYTES आवंटित किए जाएंगे या 500 वर्ण होंगे?
धन्यवाद,
आप को जोड़ने के लिए है कि CHAR को NLS_LENGTH_SEMANTICS की स्थापना * नहीं * ** बाइट्स 4000 की सीमा पर काबू पाने जाएगा एक VARCHAR स्तंभ के लिए ** चाहते हो सकता है। –
[इस] पर (https://docs.oracle.com/cd/E24693_01/server.11203/e24448/initparams149.htm) पृष्ठ यह कहता है: _Caution: ओरेकल दृढ़ता से अनुशंसा करता है कि आप CHL को NLS_LENGTH_SEMANTICS पैरामीटर सेट न करें उदाहरण या सर्वर पैरामीटर फ़ाइल में। इससे कई मौजूदा इंस्टॉलेशन स्क्रिप्ट अप्रत्याशित रूप से कैरेक्टर लम्बाई सेमेन्टिक्स के साथ कॉलम बना सकती हैं, जिसके परिणामस्वरूप बफर ओवरफ्लोज़ सहित रनटाइम त्रुटियां होती हैं। जैसा कि आपने कहा था कि यह लगभग हमेशा पात्रों में लंबाई निर्दिष्ट करने का इरादा रखता है। वह वास्तव में मुझे निराश करता है। मुझे क्या पता होना चाहिए, हर अब और फिर मुझे कुछ कॉलम आकार बढ़ाने की जरूरत है। – mkb
@mkb - पैरामीटर सत्र स्तर पर भी सेट किया जा सकता है। जब आप अपनी ऑब्जेक्ट्स को परिभाषित कर रहे हैं तो सत्र स्तर पर पैरामीटर सेट करें यदि आप इसे आवृत्ति स्तर पर सेट करने का जोखिम नहीं चाहते हैं। या ओरेकल इंस्टॉलेशन स्क्रिप्ट चलाने से पहले इसे बस स्तर स्तर पर BYTE पर सेट करें। –