परिदृश्य:
आप SQL सर्वर डेवलपर के रूप में काम कर रहे हैं, आपको एक मौजूदा तालिका dbo में चेक बाधा जोड़ने के लिए कहा जाता है। FName कॉलम पर कर्मचारी और चेक बाधा के लिए तर्क लिखें ताकि इसे हमेशा अक्षर स्वीकार करना चाहिए।जब आपने कोशिश की चेक बाधा जोड़ें, आपको नीचे त्रुटि मिली है।
संघर्ष डेटाबेस "YourDatabaseName", तालिका "dbo.Employee", कॉलम 'FName' में हुआ।
समाधान:
आइए पहले त्रुटि के लिए परिदृश्य उत्पन्न करें। कुछ नमूना डेटा के साथ नमूना dbo. कर्मचारी तालिका बनाएं। -एसक्यूएल टेबल में डेटा डालें डीबीओ में डालें। कर्मचारी (एफनाम, एलनाम, स्ट्रीट एड्रेस) मान ('आमिर', 'शहजाद', 'xyz पता') डीबीओ में डालें। कर्मचारी (एफनाम, एलनाम, स्ट्रीट एड्रेस) मान ('रजा ए') ,नल,'abc पता')जाओअब चेक की कमी को जोड़ने के लिए परिवर्तन तालिका विवरण चलाएँ। एक बार जब आप इस कथन को निष्पादित करेंगे तो आपको उपरोक्त त्रुटि मिलेगी। चूंकि मौजूदा डेटा चेक बाधा के लिए योग्य नहीं है। हमारे पास 'रज़ा ए' के लिए पहले नाम में जगह है और हमारी चेक बाधा कहती है कि एफनाम में डेटा हमेशा अक्षर होना चाहिए। %') 1) पहला समाधान:सही मौजूदा डेटाफिस्ट समाधान हो सकता है, आप उस डेटा को ढूंढ सकते हैं जो चेक बाधा के लिए योग्य नहीं है और उसे ठीक करें और फिर चेक बाधा जोड़ें।
2) यदि व्यवसाय मौजूदा डेटा को ठीक नहीं करना चाहता है और चेक बाधा को आगे बढ़ने से लागू करना चाहते हैं, आप नोचेक के साथ चेक बाधा बना सकते हैं। ऐसा करने से यह हमारे चेक प्रतिबंध नियम के खिलाफ मौजूदा डेटा को मान्य नहीं करेगा बल्कि केवल नए डेटा पर लागू होगा। आइए कुछ रिकॉर्ड डालें और जांचें कि क्या हमारी बाधा अपेक्षा के अनुरूप काम कर रही है।
dbo में डालें। कर्मचारी (FName, LName, StreetAddress) मान ('टेस्ट 123', नल, 'परीक्षण पता') में डालें dbo.Employee(FName,LName,StreetAddress)मान ('नजफ', नल, 'परीक्षण पता')जाएंपहला इंसर्ट विफल हो जाएगा क्योंकि यह हमारे चेक बाधा नियम के योग्य नहीं है। दूसरा रिकॉर्ड सफलतापूर्वक डाला जाएगा। आइए अब तालिका में डेटा की जाँच करें।
एसक्यूएल सर्वर में मौजूदा डेटा के साथ कॉलम में चेक बाधा कैसे जोड़ें |
वीडियो डेमो :चेक कंस्ट्रक्शन के साथ विवादित ऑल्टर टेबल स्टेटमेंट में त्रुटि को कैसे ठीक करें