जैसा कि मार्टिन स्मिथ ने यूडीएफ के साथ चेक बाधा का उपयोग करके कहा है, कुछ समस्याएं हैं और प्रदर्शन पर नकारात्मक प्रभाव पड़ सकता है, लेकिन यदि आप इसे किसी भी तरह से आजमाना चाहते हैं तो यह कोड काम करना चाहिए:
CREATE FUNCTION dbo.CheckVenueCapacity (@venue_id int, @capacity int)
RETURNS int
AS
BEGIN
DECLARE @retval int
SELECT @retval = CASE WHEN venue_max_capacity >= @capacity THEN 0 ELSE 1 END
FROM venues
WHERE venue_id = @venue_id
RETURN @retval
END;
GO
ALTER TABLE events
ADD CONSTRAINT chkVenueCapacity
CHECK (dbo.CheckVenueCapacity(event_venue_id, event_expected_attendance) = 0);