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

एसक्यूएल सर्वर टेबल में कॉलम को नल से नॉट नल में कैसे बदलें - एसक्यूएल सर्वर / टी-एसक्यूएल ट्यूटोरियल पार्ट 52

परिदृश्य:

आप एक बैंक के साथ SQL सर्वर डेवलपर के रूप में काम कर रहे हैं। उनके पास नीचे परिभाषा के साथ TechBrothersIT डेटाबेस में Dbo.Customer तालिका है। 9), जन्म तिथि, लिंग चार्ज(1))
 जैसा कि आपने देखा कि LastName Null हो सकता है। यही दिक्कत है। कंपनी ने देखा कि बाद में और हमेशा LastName के लिए मान रखना चाहते हैं। आपको विश्लेषण करने और कॉलम को नल से नॉट नल में बदलने के लिए स्क्रिप्ट बदलने के लिए कहा जाता है। आप किन बातों पर विचार करेंगे या सुझाव देंगे?

समाधान:

इस परिदृश्य में विचार करने वाली पहली बात यह पता लगाना है कि अंतिम नाम के लिए तालिका में पहले से कोई मान शून्य के रूप में डाला गया है या नहीं। यदि ऐसा है, तो आप वास्तव में आगे नहीं बढ़ सकते हैं और कॉलम को नल से नॉट नल में बदल सकते हैं। यदि आप कोशिश करते हैं, तो आपको नीचे त्रुटि मिलेगी।
संदेश 515, स्तर 16, राज्य 2, पंक्ति 14 कॉलम 'LastName', तालिका 'TechBrothersIT.dbo.Customer' में NULL मान सम्मिलित नहीं कर सकता; कॉलम नल की अनुमति नहीं देता है। अद्यतन विफल रहता है।
इसका मतलब है कि हमें पहले इस कॉलम में शून्य मानों से निपटना होगा। आप व्यवसाय के साथ बात कर सकते हैं और उनसे पूछ सकते हैं कि वे उन सभी ग्राहकों के लिए क्या करना चाहेंगे जहां Last Name Null है। आप नीचे दी गई क्वेरी का उपयोग करके उन ग्राहकों की सूची पा सकते हैं जहां अंतिम नाम शून्य है।
dbo से * चुनें। ग्राहक जहां अंतिम नाम शून्य है
 व्यवसाय विभिन्न सुझाव प्रदान कर सकता है जैसे कि आइए अंतिम नाम को अज्ञात में अपडेट करें जहां यह शून्य है या अंतिम नाम को रिक्त ('') में अपडेट करें यदि यह शून्य है या अंतिम नाम कॉलम को एलएनएनपी में अपडेट करें (अंतिम नाम प्रदान नहीं किया गया है) या वे ग्राहकों के पास वापस जाते हैं और उनके अंतिम नाम को अपडेट करने के लिए प्राप्त करें 
सुझावों के आधार पर, आगे बढ़ें और अंतिम नाम कॉलम में मानों को अपडेट करें। मान लें कि हमने रिक्त '' में अपडेट करने का निर्णय लिया है, हम अपडेट करने के लिए नीचे दी गई क्वेरी का उपयोग कर सकते हैं
अद्यतन dbo.Customerset LastName=''जहां अंतिम नाम शून्य है
 
 अब आप तालिका के कॉलम को नल से नॉट नल में बदलने के लिए पूरी तरह तैयार हैं। 
तालिका बदलें dbo.CustomerAlter Column LastName VARCHAR(50) Not Null




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. कैसे एसक्यूएल सर्वर में group_concat के साथ एक क्वेरी बनाने के लिए?

  2. एक विशिष्ट मान SQL सर्वर के लिए सभी टेबल, सभी कॉलम खोजें

  3. समूह में MAX दिनांक रिकॉर्ड में शामिल होना

  4. सी # कोड से एमएसएसक्यूएल सर्वर पर एसक्यूएल इंजेक्शन से बचने के लिए एल्गोरिदम?

  5. LEFT OUTER JOIN बनाम NOT EXISTS पर SQL प्रदर्शन