Нарушение Ограничений

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

Нарушение Ограничений

Отдел 55 не существует.

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

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

Нарушение Ограничений

Невозможно удалить строку, которая содержит первичный ключ, используемый в качестве внешнего ключа в другой таблице.

Нарушение Ограничений

Если Вы пытаетесь удалить запись со значением, которое привязано к ограничению целостности, возвращается ошибка.

Пример на рисунке пытается удалить отдел 60 из таблицы DEPARTMENTS, но это приводит к ошибке, потому что этот номер отдела используется в качестве внешнего ключа в таблице EMPLOYEES. Если у родительской записи, которую Вы пытаетесь удалить, есть дочерние записи, Вы получаете нарушение ограничения “child record found” (найдена дочерняя запись) ORA-02292.

Следующий оператор работает, потому что нет никаких сотрудников в отделе 70:

    DELETE FROM departments
WHERE department_id = 70;
1 rows deleted

Далее: Изменение Последовательности

Смотрите также
Комментарии
Написать

(обязательно)

(обязательно)

Это не спам (обязательно)