-- --- ИСПРАВЛЕНИЕ ДЛЯ ТАБЛИЦЫ КНИГА ---
-- Удаляем старое правило, если оно создалось с ошибками
ALTER TABLE Книга DROP CONSTRAINT IF EXISTS CHK_Год_Издания;
GO
-- Добавляем правильное правило без проверки старых некорректных строк
ALTER TABLE Книга WITH NOCHECK
ADD CONSTRAINT CHK_Год_Издания CHECK (Год_Издания BETWEEN 1960 AND YEAR(GETDATE()));
GO
-- --- ИСПРАВЛЕНИЕ ДЛЯ ТАБЛИЦЫ ЧИТАТЕЛЬ ---
-- Удаляем старое правило возраста, если оно было
ALTER TABLE Читатель DROP CONSTRAINT IF EXISTS CHK_Возраст;
GO
-- Добавляем правильную проверку возраста (не моложе 17 лет)
ALTER TABLE Читатель WITH NOCHECK
ADD CONSTRAINT CHK_Возраст CHECK (DATEDIFF(year, Дата_Рождения, GETDATE()) >= 17);
GO