sysname
128 यूनिकोड वर्णों तक सीमित एक अंतर्निहित डेटाटाइप है, जिसका उपयोग आईआईआरसी, मुख्य रूप से स्क्रिप्ट बनाते समय ऑब्जेक्ट नामों को संग्रहीत करने के लिए किया जाता है। इसका मान NULL
नहीं हो सकता है
यह मूल रूप से nvarchar(128) NOT NULL
. का उपयोग करने जैसा ही है
संपादित करें
जैसा कि @Jim ने टिप्पणियों में उल्लेख किया है, मुझे नहीं लगता कि वास्तव में कोई व्यावसायिक मामला है जहां आप sysname
का उपयोग करेंगे ईमानदार रहना। यह मुख्य रूप से Microsoft द्वारा आंतरिक sys
. का निर्माण करते समय उपयोग किया जाता है SQL सर्वर के भीतर टेबल और संग्रहीत कार्यविधियाँ आदि।
उदाहरण के लिए, Exec sp_help 'sys.tables'
. को क्रियान्वित करके आप देखेंगे कि कॉलम name
sysname
. के रूप में परिभाषित किया गया है ऐसा इसलिए है क्योंकि इसका मान वास्तव में अपने आप में एक वस्तु है (एक तालिका)
मैं इसके बारे में ज्यादा चिंता नहीं करूंगा।
यह भी ध्यान देने योग्य है कि उन लोगों के लिए जो अभी भी SQL सर्वर 6.5 और उससे कम का उपयोग कर रहे हैं (क्या अभी भी लोग इसका उपयोग कर रहे हैं?) अंतर्निहित प्रकार का sysname
varchar(30)
. के बराबर है
दस्तावेज़ीकरण
sysname
nchar
. के लिए प्रलेखन के साथ परिभाषित किया गया है और nvarchar
, टिप्पणी अनुभाग में:
sysname एक सिस्टम द्वारा आपूर्ति किया गया उपयोगकर्ता-परिभाषित डेटा प्रकार है जो कार्यात्मक रूप से nvarchar(128) के बराबर है , सिवाय इसके कि यह अशक्त नहीं है। sysname डेटाबेस ऑब्जेक्ट नामों को संदर्भित करने के लिए उपयोग किया जाता है।
उपरोक्त टिप्पणियों को स्पष्ट करने के लिए, डिफ़ॉल्ट . द्वारा sysname NOT NULL
. के रूप में परिभाषित किया गया है इसे अशक्त के रूप में परिभाषित करना निश्चित रूप से संभव है। यह भी ध्यान रखना महत्वपूर्ण है कि सटीक परिभाषा SQL सर्वर के उदाहरणों के बीच भिन्न हो सकती है।
विशेष डेटा प्रकारों का उपयोग करना
<ब्लॉकक्वॉट>sysname डेटा प्रकार का उपयोग तालिका कॉलम, चर और संग्रहीत प्रक्रिया पैरामीटर के लिए किया जाता है जो ऑब्जेक्ट नामों को संग्रहीत करता है। sysname . की सटीक परिभाषा पहचानकर्ताओं के लिए नियमों से संबंधित है। इसलिए, यह SQL सर्वर के उदाहरणों के बीच भिन्न हो सकता है। sysname कार्यात्मक रूप से वही है nvarchar(128) सिवाय इसके कि, डिफ़ॉल्ट रूप से, sysname निरर्थक नहीं है। SQL सर्वर के पुराने संस्करण, sysname वर्चर (30) के रूप में परिभाषित किया गया है।
sysname
. के बारे में कुछ और जानकारी NULL
को अनुमति देना या अस्वीकार करना मान यहां देखे जा सकते हैं https://stackoverflow.com/a/52290792/300863
सिर्फ इसलिए कि यह डिफ़ॉल्ट है (नल नहीं होना) यह गारंटी नहीं देता कि यह होगा!