एक अद्वितीय फ़िल्टर किए गए अनुक्रमणिका का उपयोग करें
SQL Server 2008 या उच्चतर पर आप बस एक अद्वितीय फ़िल्टर किए गए अनुक्रमणिका का उपयोग कर सकते हैं
CREATE UNIQUE INDEX IX_TableName_FormID_isDefault
ON TableName(FormID)
WHERE isDefault = 1
टेबल कहां है
CREATE TABLE TableName(
FormID INT NOT NULL,
isDefault BIT NOT NULL
)
उदाहरण के लिए यदि आप एक ही FormID
. के साथ कई पंक्तियाँ सम्मिलित करने का प्रयास करते हैं और isDefault
1 पर सेट करने पर आपको यह त्रुटि होगी:
अद्वितीय अनुक्रमणिका 'IX_TableName_FormID_isDefault' के साथ ऑब्जेक्ट 'dbo.TableName' में डुप्लिकेट कुंजी पंक्ति सम्मिलित नहीं कर सकता। डुप्लीकेट कुंजी मान (1) है।
स्रोत:http://technet.microsoft.com/en-us/library/cc280372.aspx