Шифрование и секретность в Linux


SET CONSTRAINTS



SET CONSTRAINTS

Выбор режима проверки ограничений в текущей транзакции.

Синтаксис

SET CONSTRAINTS { ALL режим [.... ] }

{ DEFERRED | IMMEDIATE }

Параметры

  • ALL. Ключевое слово ALL означает, что указанный режим должен относиться ко всем ограничениям в текущей транзакции.
  • режим. Имя ограничения, для которого устанавливается режим проверки.
  • DEFERRED. Проверка ограничений (или конкретного ограничения) откладывается до момента фиксации транзакции, то есть выполнения команды COMMIT.
  • IMMEDIATE. Ограничения (или конкретное ограничение) проверяются в конце каждой команды в транзакционном блоке.

Результаты

  • SET CONSTRAINTS. Сообщение выдается при успешном изменении режима проверки ограничений.
  • ERROR: Constraint 'ограничение' does not exist. Ошибка — при попытке изменения режима проверки указано имя несуществующего ограничения.

Описание

Команда SET CONSTRAINTS задает режим проверки для всех ограничений или одного ограничения в текущем транзакционном блоке. Существует два режима проверки: немедленная (IMMEDIATE) и отложенная (DEFERRED) проверка ограничений. В режиме IMMEDIATE все ограничения проверяются после выполнения каждой команды транзакции, а в режиме DEFERRED ограничения проверяются лишь после выполнения команды COMMIT.

Примечание 1
Примечание 1



В PostgreSQL версии 7.1.x (последней на момент написания книги) изменение режима проверки поддерживается только для ограничения FOREIGN KEY. Команда SET CONSTRAINTS не распространяется на ограничения CHECK и UNIQUE.



Содержание раздела