Использование Предложения WITH CHECK OPTION

  • Можно убедиться, что операции DML, выполняемые на представлении, остаются в области представления при использовании предложения WITH CHECK OPTION:

Использование Предложения WITH CHECK OPTION
  • Любая попытка сделать вставку строки посредством INSERT с department_id, отличным от 20, или сделать UPDATE для номера отдела любой строки в представлении не сработает, потому что это нарушает ограничение WITH CHECK OPTION.

Можно выполнить проверки ссылочной целостности через представления. Можно также вынудить проверку ограничений на уровне базы данных. Представление может использоваться, чтобы защитить целостность данных, но использование очень ограничено.

Предложение WITH CHECK OPTION определяет, что INSERT-ы и UPDATE-ы, выполняемые посредством представления, не могут создавать строки, которые представление не может выбрать. Поэтому, это позволяет ограничениям целостности и проверкам допустимости осуществляться на вставляемых или обновленных данных. Если происходит попытка выполнить операции DML на строках, которые не может выбрать представление, ошибка выводится на экран, наряду с именем ограничения, если оно было определено.

    UPDATE empvu20
SET department_id = 10
WHERE employee_id = 201;

приводит к:

Отметьте: Никакие строки не обновляются, потому что, если бы номер отдела был изменен на 10, представление больше не было бы в состоянии увидеть этого сотрудника. С предложением WITH CHECK OPTION, представление может увидеть только сотрудников в отделе 20 и не позволяет номеру отдела для этих сотрудников быть измененным посредством представления.

Далее: Использование Внешних Соединений

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

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

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

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