चेक बाधा क्या है:
चेक बाधाएं उन मानों को सीमित करती हैं जो एक या अधिक स्तंभों द्वारा स्वीकार किए जाते हैं।आइए वास्तविक समय परिदृश्य के साथ चेक बाधा को समझते हैं।
आप SQL सर्वर डेवलपर के रूप में काम कर रहे हैं, आपको dbo.Customer तालिका बनाने की आवश्यकता है जिसमें FName, LName और पता जैसे कॉलम होने चाहिए। जैसा कि FName VARCHAR होने जा रहा है, इसलिए उपयोगकर्ता स्ट्रिंग मान सम्मिलित कर सकते हैं जिनमें अक्षर, संख्यात्मक और अन्य वर्ण हो सकते हैं। आप एक चेक बाधा लिखना चाहते हैं ताकि FName केवल अक्षर स्वीकार करे।समाधान:
आइए नीचे दी गई स्क्रिप्ट का उपयोग करके चेक बाधा के साथ तालिका बनाएं--Create Table with use YourDatabaseName go Create table dbo.Customer ( FName VARCHAR(100) Not Null, LName VARCHAR(100), StreetAddress VARCHAR(255), Check (FName not like '%[^a-z]%') )
आइए तालिका में कुछ रिकॉर्ड डालें और देखें कि क्या हमारी चेक बाधा अपेक्षा के अनुरूप काम कर रही है। इसे केवल उन रिकॉर्ड्स को डालने देना चाहिए जिनमें FName में केवल अक्षर होते हैं।
--insert some sample records insert into dbo.Customer (FName,LName,StreetAddress) Values ('Aamir','Shahzad','xyz address') go insert into dbo.Customer (FName,LName,StreetAddress) Values ('Aamir4','Shahzad','xyz address') go insert into dbo.Customer (FName,LName,StreetAddress) Values ('abc3c','Shahzad','xyz address') go insert into dbo.Customer (FName,LName,StreetAddress) Values ('-tName','Shahzad','xyz address')जब मैंने ऊपर सम्मिलित स्क्रिप्ट निष्पादित की, तो मुझे SQL सर्वर से प्राप्त संदेश नीचे दिए गए हैं।
(1 पंक्ति (प्रभावित))
संदेश 547, स्तर 16, राज्य 0, पंक्ति 18
INSERT कथन CHECK बाधा "CK__Customer__FName__5FB337D6" के विपरीत है। डेटाबेस "YourDatabaseName", तालिका "dbo.Customer", कॉलम 'FName' में विरोध हुआ।
विवरण समाप्त कर दिया गया है।
संदेश 547, स्तर 16, राज्य 0, पंक्ति 22
INSERT कथन CHECK बाधा "CK__Customer__FName__5FB337D6" का विरोध करता है। डेटाबेस "YourDatabaseName", तालिका "dbo.Customer", कॉलम 'FName' में विरोध हुआ।
विवरण समाप्त कर दिया गया है।
संदेश 547, स्तर 16, राज्य 0, पंक्ति 26
INSERT कथन CHECK बाधा "CK__Customer__FName__5FB337D6" का विरोध करता है। डेटाबेस "YourDatabaseName", तालिका "dbo.Customer", कॉलम 'FName' में विरोध हुआ। FName, शेष रिकॉर्ड्स को हमारी चेक बाधा द्वारा अस्वीकार कर दिया जाता है क्योंकि उनमें अक्षर के अलावा अन्य वर्ण होते हैं।
आइए तालिका में डेटा की जांच करके सुनिश्चित करें कि केवल एक रिकॉर्ड डाला गया है।
SQL सर्वर में चेक बाधा क्या है और SQL सर्वर में चेक बाधा कैसे बनाएं |
वीडियो डेमो:चेक बाधा क्या है और SQL सर्वर में चेक बाधा कैसे बनाएं