Мне любопытно, могу ли я полагаться на какой-либо конкретный порядок проверки NOT NULL, FOREIGN KEY, UNIQUE, CHECK
ограничений и BEFORE
триггеров.
По опыту знаю, что MySQL сначала проверяет NOT NULL
, затем запускает BEFORE
триггер, а затем проверяет UNIQUE
ограничения. Oracle проверяет NOT NULL
после триггера BEFORE
(думаю, SQLServer делает то же самое, но не помню). Говорит ли стандарт что-нибудь о заказе или это полностью зависит от поставщика БД?
before
. Это позволяет триггеруbefore
изменять значения так, чтобы они больше не были нулевыми. - person Shannon Severance   schedule 22.11.2011Instead Of Trigger Entered ,Check NULL constraint, Unique constraints, check constraints, FK, After Trigger, Instead Of Trigger Exited
от тестирования, которое я провел, чтобы ответить на этот вопрос - person Martin Smith   schedule 23.11.2011BEFORE TRIGGER
(конечно, если RMDS поддерживает это) против ограничений. - person a1ex07   schedule 23.11.2011