Sono curioso di poter fare affidamento su qualsiasi ordine particolare di convalida dei limiti NOT NULL, FOREIGN KEY, UNIQUE, CHECK
e dei trigger BEFORE
.Lo standard SQL specifica l'ordine di convalida dei vincoli e attivazione del trigger?
Per esperienza so che MySQL controlla prima NOT NULL
, quindi avvia il trigger BEFORE
e quindi controlla i vincoli UNIQUE
. Oracle controlla NOT NULL
dopo il trigger BEFORE
(credo che SQLServer faccia lo stesso, ma non ricordo). Lo standard dice qualcosa sull'ordine o dipende completamente dal fornitore di DB?
Oracle fa ** non ** check NOT NULL fino a dopo 'trigger before'. Ciò consente al trigger 'before' di modificare i valori in modo tale che non siano più nulli. –
@Shannon Severance: Sì, mi dispiace, stavo pensando a mysql ... Fisso – a1ex07
Si potrebbe scaricare un [progetto] (http://www.wiscorp.com/sql200n.zip) (Link tratto da Wikipedia) dei più recente normativa e guardare attraverso di esso da soli (non riesco a trovare tali definizioni) –