SQL सर्वर में अद्वितीय बाधा क्या है:
SQL सर्वर में अद्वितीय बाधा कॉलम या कॉलम पर बनाई जाती है ताकि कॉलम/एस को केवल अद्वितीय मान स्वीकार करने के लिए प्रतिबंधित किया जा सके।एक कॉलम में केवल एकल शून्य मान की अनुमति है जिस पर अद्वितीय बाधा बनाई गई है।
परिदृश्य:
मान लें कि आप बीमा कंपनी के लिए SQL सर्वर डेवलपर के रूप में काम कर रहे हैं, आपको dbo बनाने के लिए कहा जाता है। ग्राहक तालिका जिसमें एक कॉलम SSN होना चाहिए और उसे हमेशा अद्वितीय मान स्वीकार करना चाहिए।समाधान:
उपरोक्त परिदृश्य के लिए, हम SSN कॉलम पर Unique Constraint का उपयोग कर सकते हैं। कॉलम पर अद्वितीय बाधा बनाने के लिए नीचे स्क्रिप्ट का उपयोग किया जा सकता है।USE [YourDatabaseName] GO CREATE TABLE [dbo].[Customer]( [FirstName] [varchar](50) NULL, [LastName] [varchar](50) NULL, [SSN] VARCHAR(11), Unique(SSN) ) --Insert sample records in table Insert into dbo.Customer(FirstName,LastName,SSN) Values('Raza','M',Null) ,('Aamir','Shahzad','000-00-0001') ,('Aamir','Shahzad','000-00-0002')
dbo में डेटा की जांच करें। क्वेरी का चयन करके ग्राहक तालिका का उपयोग करें
एसक्यूएल सर्वर में एक कॉलम पर अद्वितीय बाधा कैसे जोड़ें |
आइए सिस्टम दृश्य का उपयोग यह जांचने के लिए करते हैं कि क्या Unique Constraint जोड़ा गया है और SQL सर्वर ने इसे क्या नाम दिया है।
SELECT * FROM INFORMATION_SCHEMA.TABLE_CONSTRAINTS WHERE CONSTRAINT_TYPE = 'UNIQUE'
SQL सर्वर में Unique Constraint कैसे जोड़ें |
जैसा कि हम देख सकते हैं कि SQL सर्वर ने Unique Constraint को "UQ__Customer__CA1E8E3C7E8AFCB1" नाम दिया है। अगर हम कुछ नामकरण परंपरा को लागू करना चाहते हैं तो हमें खुद से नाम प्रदान करना चाहिए था।
यदि हम अद्वितीय बाधा कॉलम में पहले से मौजूद मान डालने का प्रयास करते हैं, तो हम नीचे त्रुटि प्राप्त करेंगे।
Insert into dbo.Customer(FirstName,LastName,SSN) Values('Raza','M',Null)
Msg 2627, Level 14, State 1, Line 11
UNIQUE KEY बाधा 'UQ__Customer__CA1E8E3C7E8AFCB1' का उल्लंघन। ऑब्जेक्ट 'dbo.Customer' में डुप्लिकेट कुंजी सम्मिलित नहीं कर सकता। डुप्लीकेट कुंजी मान (
विवरण समाप्त कर दिया गया है।
यदि आप कुछ नामकरण परंपरा के साथ अद्वितीय बाधा बनाना चाहते हैं, तो हम नीचे दिए गए सिंटैक्स का उपयोग कर सकते हैं।
USE [YourDatabaseName] GO CREATE TABLE [dbo].[Customer]( [FirstName] [varchar](50) NULL, [LastName] [varchar](50) NULL, [SSN] VARCHAR(11), Constraint UQ_Dbo_Customer_SSN Unique(SSN) )
वीडियो डेमो :SQL सर्वर में अद्वितीय बाधा क्या है