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

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


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

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

Пояснения:

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

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

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

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

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

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



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