हम इस तरह से अपडेट पर चेक को बाध्य कर सकते हैं।
मान लें कि आपके पास इस तरह की एक टेबल है
create table UserTest(Id int, IsEnabled bit, [GroupId] int)
अब, हम यह जांचना चाहते हैं कि [GroupId]
. द्वारा केवल 1 उपयोगकर्ता सक्षम है ।
आमतौर पर बाधा कुछ इस तरह दिखेगी
ALTER TABLE [dbo].[UserTest] ADD CONSTRAINT CHK_OnlyOneEnabled CHECK (dbo.checkOnlyOne(GroupId)=1)
जब तक आप GroupId
. को अपडेट नहीं करते, तब तक अपडेट किए गए रिकॉर्ड पर यह बाधा ट्रिगर नहीं होगी .
इसलिए, हमें बाध्य करके IsEnabled कॉलम को मान्य करने के लिए बाध्य करना होगा
ALTER TABLE [dbo].[UserTest] ADD CONSTRAINT CHK_OnlyOneEnabled CHECK (dbo.checkOnlyOne(GroupId, IsEnabled )=1)
कोई फर्क नहीं पड़ता कि आप फ़ंक्शन में IsEnabled मान का उपयोग करते हैं या नहीं।