Utløsere (database)

Fra Wikipedia, den frie encyklopedi
Gå til: navigasjon, søk

En databaseutløser (en: 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 (en: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).