Das Beste wäre, Trigger zu vermeiden und vor dem Einfügen zu prüfen, ob vorhanden
IF NOT EXISTS (SELECT TOP 1 1 FROM MyTable WHERE @InsertedEndDate > begin_date AND @InsertedBeginDate < end_date)
BEGIN
--do actual insert/work
END
Es ist eine einfache Überprüfung, um die erste Überlappung zu finden. Das Auswählen von TOP 1 1 ist ein Trick, um zu vermeiden, dass die Daten tatsächlich abgerufen werden. Es wird zurückgegeben, sobald es mit einer Zeile übereinstimmt, die sich mit dem Datumsbereich überschneidet, den Sie tatsächlich zu speichern versuchen