CHECK в Oracle SQL. Введение
CHECK позволяет задать логическое условие, которому должны соответствовать значения в столбцах таблицы. Это способ внедрить бизнес-правила прямо в структуру базы данных, предотвращая запись некорректных данных.
🔤 Написание
Или при добавлении ограничения отдельно:
🔄 Где часто используется
При создании таблиц с ограничениями
При защите от некорректных значений
При автоматической валидации бизнес-логики
Вместе с
INSERTиUPDATEоперациямиПри построении форм и API, где важно доверие к БД
🧪 10 Примеров использования CHECK с пояснениями
1️⃣ Проверка на положительное значение
Нельзя вставить отрицательный баланс.
2️⃣ Ограничение на диапазон значений
Оценка должна быть от 1 до 5.
3️⃣ Ограничение на перечисление значений
Статус только из заданного списка.
4️⃣ Добавление CHECK к уже существующей таблице
Добавляем ограничение на возраст.
5️⃣ Именование ограничения
Понятное имя помогает в отладке.
6️⃣ CHECK с несколькими условиями
Сложная бизнес-логика внутри ограничения.
7️⃣ Проверка текстового поля
Только ‘M’ или ‘F’ допустимы.
8️⃣ Удаление CHECK ограничения
Удаляем ограничение, если оно больше не нужно.
9️⃣ Попытка вставить неправильное значение
Oracle не даст вставить недопустимое значение.
🔟 CHECK с NULL — поведение особенное
NULL не вызывает ошибку — ограничение пропускается.
🧩 Заключение
Оператор CHECK помогает внедрять правила качества данных прямо в схему базы данных, делая её самодостаточной и защищённой от ошибок на уровне приложения.
💡 Запомни:
Проверяет логические условия для значений
Используется при
CREATE TABLEиALTER TABLEМожно задать имя ограничения
Работает на уровне строки
NULL значения не нарушают ограничения, если не указано иное