Как предотвратить ввод новых данных между или перекрытие существующего диапазона в таблице SQL
В моей таблице есть два столбца FromMinutes и ToMinutes), и я ввел такие данные, как 5-15 , 16-30, 31-60
Теперь я хочу предотвратить столкновение диапазона, когда я вхожу в новый диапазон. например, новый диапазон не может быть между или перекрывать существующий диапазон, например 7-10 недействителен.12-25 недействителен и 1-70 недействителен. Как написать этот запрос в процедуре вставки?
моя структура таблицы такова :
СОЗДАНИЕ ТАБЛИЦЫ ПО УПРАВЛЕНИЮ ПЕРСОНАЛОМ.tbAttendanceTimeSlots
(
SLOTID INT NOT NULL IDENTITY(1,1) первичный ключ,
Вызываем ИНТ нуль,
ToMinutes INT NULL
)
Что я уже пробовал:
я пытался
ЕСЛИ СУЩЕСТВУЕТ(ВЫБЕРИТЕ 1 ИЗ УЧР.tbAttendanceTimeSlots где (@вызываем между вызываем и Tominutes) и (@ToMinutes между вызываем и Tominutes))
НАЧАТЬ
Возврат -1 --столкновение
КОНЕЦ
ЕЩЕ
НАЧАТЬ
ВСТАВИТЬ В МОД.tbAttendanceTimeSlots
(
Вызываем, ToMinutes
)
ЦЕННОСТИ
(
@FromMinutes,@ToMinutes
)
Возврат 1
КОНЕЦ