Каковы особенности работы SQL-команды SET CONSTRAINTS ALL DEFERRED?
В СУБД ЛИНТЕР действие данной команды распространяется не на все поддерживаемые СУБД ограничения целостности, а только на FOREIGN KEY
и CHECK
.
Это означает, что после подачи команды SET CONSTRAINTS ALL DEFERRED
проверка соответствия FOREIGN KEY
и PRIMARY KEY
и соблюдение CHECK-условий выполняются в момент подтверждения транзакции (операция COMMIT
). В то же время проверки уникальности PRIMARY KEY
и UNIQUE
и отсутствие NULL-значений для столбцов с атрибутом NOT NULL по-прежнему производятся при выполнении каждого SQL-оператора манипулирования данными.
В режиме отложенных ограничений целостности для FOREIGN KEY
работает только вариант NO ACTION
.