PostgreSQL - Funktioner som udløsere

Indholdsfortegnelse
PostgreSQL giver os mulighed for at bruge forskellige sprog til at udføre funktioner, denne funktionalitet er ganske nyttig og gør den til en af ​​de mest fleksible og kraftfulde databaser, men det giver os også mulighed for at gøre fungerer som udløsere, det vil sige funktioner, der automatisk registrerer, hvilken handling der er sket og udløser en anden handling, det vil sige, hvis vi indsætter i en tabel f.eks. udløser at opdatere i en anden, for at sætte en helt grundlæggende operation af, hvad en trigger er.
Funktioner som udløsere
Ingen værdifuld databasemotor bør være uden evnen til at bruge udløser automatisk at registrere og håndtere ændringer i data. PostgreSQL tilbyder udløsere på udsagn og rekordniveau; dem, der er på sætningsniveau, køres en gang for hver sætning, hvorimod dem, der er på registret niveau, kan køre mange gange, for eksempel hvis vi laver en OPDATER der påvirker 1500 poster, ville en sætningsniveautrigger kun køre én gang, mens rekordtriggeren ville køre op til 1500 gange.
Et andet vigtigt punkt i dette emne er sondringen mellem instruktionerne FØR, DESPUES DE og I STEDET AF i en udløser.
En trigger, der fungerer med FØR affyrer før kommandoens udførelse giver mulighed for at ændre eller annullere eller manipulere dataene, før de ændres, a EFTER udløser den udløses efter ændringens udførelse, hvilket giver mulighed for at få de data, der allerede er ændret, denne type trigger bruges mest i logfiler og replikationsfunktioner, I stedet for udløseren Det kører i stedet for den handling, der normalt ville blive udført, også en af ​​særegenhederne ved dette er, at det kun fungerer med synspunkterne.
Byg en funktion med udløser
Som når vi taler om funktioner, ved vi, at vi kan bruge andre sprog til at udføre dem, i tilfælde af funktioner som udløsere er det også muligt at bruge næsten ethvert sprog, men PL / pgSQL Det er en favorit at udføre disse opgaver, derfor vil følgende eksempel, som vi vil se på billedet, blive lavet på dette sprog, efter at vi har set eksemplet, vil vi forklare det i detaljer:

1. Funktionen er defineret som en trigger og kan bruges i enhver tabel, der har en upd_ts -kolonne. Værdien af ​​denne kolonne ændres, før returneringen foretages. Opkaldet foretages ved arrangementet FØR fordi hvis det blev brugt i DESPUES DE alle ændringer i den nye rekord ville blive ignoreret.
2. Udløseren udløses, før pladen gemmes.
3. Denne funktionalitet, der kun er tilgængelig i PostgreSQL 9.0 eller højere tillader os kun at ændre de poster, der faktisk er blevet påvirket, i tidligere versioner var det nødvendigt at foretage sammenligninger mellem de gamle og de nye felter, men dette understøttes dog ikke for INSTEAD OF -begivenheden.
4. Vi forbinder udløseren til bordet.
Med dette afslutter vi denne tutorial, hvor vi har set, hvordan man opretter en Trigger, der vil blive implementeret i en funktion, udover at vide, hvilke begivenheder vi kan bruge, når vi har brug for dem.Kan du lide og hjælpe denne vejledning?Du kan belønne forfatteren ved at trykke på denne knap for at give ham et positivt punkt

Du vil bidrage til udviklingen af ​​hjemmesiden, at dele siden med dine venner

wave wave wave wave wave