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?
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?
- Hogere cijfers + sneller leren
- Niets twee keer studeren
- 100% zeker alles onthouden
Hoe kun je in triggertaal bij een if conditie omgaan met een unknown of false als waarde uitkomst?
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?
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?
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