602SQL-Úplná dokumentace Index  

Pořadí akcí a kontrol při provádění příkazů

Provedení UPDATE, INSERT nebo DELETE příkazu může vyvolat současně spuštění triggerů, kontrolu integritních omezení a provedení akcí aktivní referenční integrity. Je důležité znát, v jakém pořadí se jednotlivé akce volají.

Kdy se kontroluje dodržení integritních omezení?

Server může kontrolovat dodržení integritních omezení buď na konci příkazu nebo na konci transakce. Čas vyhodnocení integritního omezení předepisuje klauzule INITIALLY IMMEDIATE nebo INITIALLY DEFERRED.

Pořadí akcí a kontrol při provádění příkazů

Provádění příkazu probíhá v této obálce:

  1. BEFORE trigger FOR EACH STATEMENT
  2. zpracování všech záznamů v příkazu
  3. AFTER trigger FOR EACH STATEMENT

Pro každý záznam ovlivněný příkazem se provádí tato posloupnost akcí:

  1. BEFORE trigger FOR EACH ROW
  2. provedení změn v datech:
  3. úprava indexů, aby odpovídaly novým hodnotám
  4. kontrola UNIQUE
  5. akce aktivní referenční integrity (kaskádní změna nebo rušení nebo přitom kontrola)
  6. AFTER trigger FOR EACH ROW
  7. kontrola IMMEDIATE integrity: vnitřní pravidla CHECK + test existence nadřízených záznamů pro změněné záznamy v podřízených tabulkách v referenční integritě.