Databaseutløser

En databaseutløser (engelsk: trigger) er prosedyrer som utføres automatisk basert på spesifikke hendelser på en tabell i en database.
Utløsere kan begrense adgang til spesifikke data, utføre logging, eller verifisere endringer av dataene.

Det finnes to klasser utløsere. "Radutløsere" og "spørringsutløsere". Radutløsere utføres for hver påvirkede rad i tabelen, mens spørringsutløsere utføres bare en gang for hver utførte INSERT-, UPDATE-, eller DELETE-spørring. Utløsere kan ikke brukes på spørringer som bare henter data.

Hver klasse kan igjen bestå av flere forskjellige typer. Disse er "BEFORE-utløsere", "AFTER-utløsere" og "INSTEAD OF-utløsere".
BEFORE-utløsere og AFTER-utløsere angir når de utføres, før eller etter at selve SQL-spørringen utføres. INSTEAD OF-utløser brukes på visninger (engelsk: views).

Utløsere utføres normalt når man utfører spørringer som gjør endringer i databasen. De SQL-operasjonene som gjør dette, er:
INSERT-hendelse (når en ny oppføring blir lagt til i databasen).
UPDATE-hendelse (når en oppføring i databasen blir endret).
DELETE-hendelse (når en oppføring i databasen blir slettet).

Kategori:Databaser
Kategori:SQL