सबसे अच्छी बात यह होगी कि ट्रिगर्स से बचें और अगर डालने से पहले मौजूद है तो जांच करें
IF NOT EXISTS (SELECT TOP 1 1 FROM MyTable WHERE @InsertedEndDate > begin_date AND @InsertedBeginDate < end_date)
BEGIN
--do actual insert/work
END
यह पहला ओवरलैप खोजने के लिए एक साधारण जांच है। सेलेक्ट टॉप 1 1 वास्तव में डेटा लाने से बचने की एक तरकीब है, जैसे ही यह एक पंक्ति से मेल खाती है, जो उस तिथि सीमा को ओवरलैप करती है जिसे आप वास्तव में सहेजने की कोशिश कर रहे हैं, यह वापस आ जाएगी।