sql >> Base de Datos >  >> RDS >> Sqlserver

¿Cómo insertar datos si no están en el medio en el servidor sql 2008?

Lo mejor sería evitar los desencadenantes y realizar una verificación con si existe antes de insertar

IF NOT EXISTS (SELECT TOP 1 1 FROM MyTable WHERE @InsertedEndDate > begin_date AND @InsertedBeginDate < end_date)
BEGIN
    --do actual insert/work
END

Es una simple verificación para encontrar la primera superposición. Select TOP 1 1 es un truco para evitar obtener los datos, regresará tan pronto como coincida con una fila que se superponga al rango de fechas que realmente está tratando de guardar