15. diel - SQLite - Triggery
V minulej lekcii, SQLite - Klauzula HAVING , sme si predstavili klauzulu HAVING, ukázali
si, na čo sa používa, aká je syntax a aké sú hlavné rozdiely medzi
HAVING
a WHERE
.
V dnešnom tutoriále si predstavíme veľmi užitočnú časť jazyka SQL, a to triggery. Povieme si, na čo triggery slúžia, aké sú druhy triggerov a ako s nimi pracovať.
Čo sú to triggery
Trigger je uložený program, ktorý sa spustí automaticky ako reakcia na určitú akciu s pridruženou tabuľkou. Napríklad môžeme vytvoriť trigger, ktorý sa spustí, keď odstránime z nejakej tabuľky riadok, alebo keď nejaký riadok naopak pridáme.
V SQLite triggery reagujú na tri druhy udalostí:
UPDATE
INSERT
DELETE
- Prvým je
row-level
trigger. Ten sa spúšťa zvlášť pre každý riadok tabuľky. Pokiaľ teda do tabuľky vložíme päť riadkov, tak sarow-level
trigger spustí päťkrát. - Druhým je
statement-level
trigger, ktorý sa spúšťa pre každú transakciu zvlášť. Teda pokiaľ v jednom dotaze vložíme päť riadkov, tak sastatement-level
trigger vykoná iba raz.
row-level
triggery
Tvorba triggerov
Ako sme si už povedali, triggery sa spúšťa ako reakcia na jednu z troch
udalostí. Môžeme si tiež vybrať, či sa spustí pred touto
udalosťou alebo až po tejto udalosti. Tento výber
špecifikujeme kľúčovými slovami BEFORE
a
AFTER
.
Syntax pri tvorbe triggerov je nasledovná:
...koniec náhľadu článku...
Pokračuj ďalej
Minul si až sem a to je super! Veríme, že ti prvé lekcie ukázali niečo nového a užitočného.
Chceš v kurze pokračovať? Prejdi do prémiové sekcie.
Kúpiť tento kurz
Obsah článku spadá pod licenciu Premium, kúpou článku súhlasíš so zmluvnými podmienkami.
- Neobmedzený a trvalý prístup k jednotlivým lekciím.
- Kvalitné znalosti v oblasti IT.
- Zručnosti, ktoré ti pomôžu získať vysnívanú a dobre platenú prácu.
Popis článku
Požadovaný článok má nasledujúci obsah:
V tutoriále si predstavíme veľmi užitočnú časť jazyka SQLite a to tzv. triggery. Naučíme sa ich tiež správne používať.
Kredity získaš, keď podporíš našu sieť. To môžeš urobiť buď zaslaním symbolickej sumy na podporu prevádzky alebo pridaním obsahu na sieť.