Andmebaaside eksami kordamisküsimuste vastused
Pole olemas ka DURING trigereid.
Trigeritega seotud "mutating table" probleem
Mutating table on:
- tabel mida parajasti muudab see SQL- lause (INSERT, UPDATE
või DELETE lause), mis trigeri käivitab. Reataseme trigeri
protseduuris ei saa SQL lauseid kasutades lugeda/muuta andmeid
tabelis, mille muutmine trigeri käivitas.
- tabel, mis allub muutustele trigeri käivitanud käsu poolt tänu
välisvõtmetega seotud lisakitsendustele (DELETE CASCADE).
Kõigi reatrigerite ja DELETE CASCADE poolt käivitatavate lause taseme
trigerite puhul ei saa SQL lausetega lugeda ega muuta andmeid neis lause
suhtes nn. mutating tabelites.
Näiteks lause:
DELETE FROM Yliopilane WHERE yliopilaskood = 1;
tulemusel käivituv triger
CREATE OR REPLACE TRIGGER Yliop_count
AFTER DELETE ON Yliopilane
FOR EACH ROW
DECLARE
n INTEGER;
BEGIN