Triggers en stored procedures - Triggers - Voorbeelden after-triggers

6 belangrijke vragen over Triggers en stored procedures - Triggers - Voorbeelden after-triggers

Hoe maak je een after-trigger met een if conditie?


set term ^;
create trigger tIngredient_au
for Ingredient after update
as begin
if (old.hoeveelheidPP <> new.hoeveelheidPP)
then execute procedure pGerecht_update_energiePP(new.gerecht);
end^
set term ;^


Toelichting
 De if -conditie staat verplicht tussen haakjes.
 De taak (na then ) wordt alleen uitgevoerd wanneer de conditie true
oplevert.

Hoe moet bij een if conditie in triggertaal omgegaan worden met meerdere statements?

Dan moet je begin en end gebruiken:;


Voorwaardelijke programmastructuur
Voorbeeld 12.4 geeft nog aanleiding tot de volgende opmerkingen bij de
voorwaardelijke programmastructuur (keuzestructuur) met if .
Als de te verrichten taak (na then ) meerdere opdrachten omvat, dan
moeten deze tussen begin en end staan:
if (conditie) then
begin
…;
…;end;

Wat is een samengestelde opdracht en hoe heet deze in het engels?

Een compound statement: het is een trigger bestaande uit meerdere opdrachten.
  • Hogere cijfers + sneller leren
  • Niets twee keer studeren
  • 100% zeker alles onthouden
Ontdek Study Smart

Hoe kun je in triggertaal bij een if conditie omgaan met een unknown of false als waarde uitkomst?

Dan gebruik je if, then, else..


Indien er ook bij een uitkomst false of unknown van de conditie iets moet
gebeuren, is hiervoor de if ... then ... else ...-constructie beschikbaar:
if (conditie) then
…;
else
…;


Opmerkingen
 Na zowel then als else mag een enkelvoudig of een samengesteld
statement volgen.
 Aan zowel end als else gaat een puntkomma vooraf; dit is het
afsluitteken voor de voorafgaande statement. In Firebird- 3GL is de
puntkomma geen scheidingsteken tussen statements (separator) maar
afsluitteken ná een statement (terminator).

Hoe kun je herhaling gebruiken in triggertaal?

for... do..


create trigger tProduct_au
for Product after update as
begin
if (old.energiePE <> new.energiePE)
then for alle (namen van) gerechten die
‘dit’ product als ingrediënt hebben
do voer voor die (namen van) gerechten de procedure
p Gerecht_update_energiePP uit;end^

Wat zij adviezen mbt triggers?

Hou ze eenvoudig.

Maak onnatuurlijke ingrepen onmogelijk in de trigger.

Regels kunnen ook via applicatiecode of rule engine afgedwongen worden.

Voor 2 verschillende regels niet 1 trigger.

De vragen op deze pagina komen uit de samenvatting van het volgende studiemateriaal:

  • Een unieke studie- en oefentool
  • Nooit meer iets twee keer studeren
  • Haal de cijfers waar je op hoopt
  • 100% zeker alles onthouden
Onthoud sneller, leer beter. Wetenschappelijk bewezen.
Trustpilot-logo