Нарушение Ограничений
Когда у Вас есть ограничения на столбцы, возвращается ошибка, если Вы пытаетесь нарушить правило ограничения.

Отдел 55 не существует.
Например, если Вы пытаетесь обновить запись со значением, которое связано с ограничением целостности, возвращается ошибка.
В примере на рисунке отдел 55 не существует в родительской таблице, DEPARTMENTS
, и таким образом, Вы получаете нарушение “parent key not found” (родительский ключ не найден) ORA-02291
.
Нарушение Ограничений
Невозможно удалить строку, которая содержит первичный ключ, используемый в качестве внешнего ключа в другой таблице.

Если Вы пытаетесь удалить запись со значением, которое привязано к ограничению целостности, возвращается ошибка.
Пример на рисунке пытается удалить отдел 60 из таблицы DEPARTMENTS
, но это приводит к ошибке, потому что этот номер отдела используется в качестве внешнего ключа в таблице EMPLOYEES
. Если у родительской записи, которую Вы пытаетесь удалить, есть дочерние записи, Вы получаете нарушение ограничения “child record found” (найдена дочерняя запись) ORA-02292
.
Следующий оператор работает, потому что нет никаких сотрудников в отделе 70:
DELETE FROM departments |
1 rows deleted |
---|