Введение в стандарты языка баз данных SQL


Оператор установки режима ограничений


При выполнении в активной транзакции оператор устанавливает режим проверки ограничений целостности для этой транзакции в текущей SQL-сессии. При выполнении вне активной транзакции оператор устанавливает режим проверки ограничений целостности для следующей транзакции данного агента в текущей сессии. Оператор имеет следующий синтаксис:

<set constraints mode statement> ::= SET CONSTRAINTS <constraint name list> { DEFERRED | IMMEDIATE } <constraint name list> ::= ALL | <constraint name> [ { <comma> <constraint name> }... ]

Пояснения:

  1. Указанные в параметрах оператора ограничения должны быть откладываемыми.
  2. Пусть TXN обозначает текущую или следующую транзакцию данного агента в зависимости от того, в транзакции или вне транзакции выполняется оператор.
  3. Если в операторе SETCONSTRAINTS указано IMMEDIATE, то

      (a) если специфицировано ALL, то для всех откладываемых ограничений TXN устанавливается режим немедленной проверки;

      (b) в противном случае режим немедленной проверки устанавливается для всех ограничений, поименованных в списке имен ограничений.

  4. Если указано DEFERRED, то

      (a) если специфицировано ALL, то для всех откладываемых ограничений TXN устанавливается режим отложенной проверки;

      (b) в противном случае режим отложенной проверки устанавливается для всех ограничений, поименованных в списке имен ограничений.




- Начало -  - Назад -  - Вперед -