PostgreSQL - Funktioner som utlösare

Innehållsförteckning
PostgreSQL tillåter oss att använda olika språk för att utföra funktioner, denna funktionalitet är ganska användbar och gör den till en av de mest flexibla och kraftfulla databaserna, men den tillåter oss också att göra fungerar som utlösare, det vill säga funktioner som automatiskt upptäcker vilken handling som har inträffat och utlöser en annan åtgärd, det vill säga om vi infogar i en tabell till exempel en utlösare att uppdatera i en annan, för att sätta en mycket grundläggande operation av vad en trigger är.
Funktioner som triggers
Ingen värdefull databasmotor bör vara utan möjligheten att använda utlösare att automatiskt upptäcka och hantera dataändringar. PostgreSQL erbjuder triggers på uttalande- och rekordnivå; de som ligger på meningsnivån körs en gång för varje mening, medan de som är på registernivå kan köras många gånger, till exempel om vi gör en UPPDATERING som påverkar 1500 poster, skulle en utlösare för meningsnivå bara köras en gång, medan rekordtriggern skulle köra upp till 1500 gånger.
En annan viktig punkt i detta ämne är skillnaden mellan instruktionerna INNAN, DESPUES DE och den ISTÄLLET AV i en utlösare.
En trigger som fungerar med INNAN avfyrar innan kommandot utförs och ger möjlighet att ändra eller avbryta eller manipulera data innan den ändras, a EFTER avtryckaren den utlöses efter genomförandet av ändringen, vilket ger möjlighet att erhålla data som redan är modifierad, denna typ av utlösare används mestadels i loggar och replikeringsfunktioner, I stället för utlösare Det körs istället för den handling som normalt skulle utföras, också en av särdragen i detta är att det bara fungerar med åsikterna.
Skapa en funktion med Trigger
Som när vi talar om funktioner vet vi att vi kan använda andra språk för att göra dem, för funktioner som triggers är det också möjligt att använda nästan vilket språk som helst, men PL / pgSQL Det är en favorit att utföra dessa uppgif.webpter, därför kommer följande exempel som vi kommer att se på bilden att göras på detta språk, efter att vi har sett exemplet kommer vi att förklara det i detalj:

1. Funktionen definieras som en trigger och kan användas i alla tabeller som har en upd_ts -kolumn. Värdet på den här kolumnen kommer att ändras innan retur görs. Samtalet görs vid evenemanget INNAN för om det skulle användas i DESPUES DE alla ändringar i den nya posten ignoreras.
2. Utlösaren startar innan posten lagras.
3. Denna funktionalitet som endast är tillgänglig i PostgreSQL 9.0 eller högre tillåter oss att bara ändra de poster som faktiskt har påverkats, i tidigare versioner var det nödvändigt att göra jämförelser mellan de gamla och de nya fälten, men detta stöds dock inte för INSTEAD OF -händelsen.
4. Vi kopplar utlösaren till bordet.
Med detta avslutar vi denna handledning där vi har sett hur man skapar en Trigger som kommer att implementeras i en funktion, förutom att veta vilka händelser vi kan använda när vi behöver dem.Gillade du och hjälpte denna handledning?Du kan belöna författaren genom att trycka på den här knappen för att ge honom en positiv poäng
wave wave wave wave wave