PostgreSQL - Funkcije poput okidača

Sadržaj
PostgreSQL omogućuje nam korištenje različitih jezika za obavljanje funkcija, ta je funkcija vrlo korisna i čini je jednom od najfleksibilnijih i najmoćnijih baza podataka, ali nam također omogućuje funkcionira kao okidač, odnosno funkcije koje automatski otkrivaju koja se radnja dogodila i pokreću drugu radnju, odnosno ako umetnemo u tablicu, na primjer, okidač ažurirati u drugom, staviti vrlo osnovnu operaciju onoga što je okidač.
Funkcije poput okidača
Nijedan vrijedan motor baze podataka ne bi trebao biti bez mogućnosti korištenja okidači za automatsko otkrivanje i rukovanje promjenama podataka. PostgreSQL nudi okidače na razini izjave i na razini zapisa; oni koji su na razini rečenice izvode se jednom za svaku rečenicu, dok se oni na razini registra mogu pokrenuti više puta, na primjer ako učinimo AŽURIRAJ koji utječe na 1500 zapisa, okidač na razini rečenice pokrenuo bi se samo jednom, dok bi se okidač zapisa pokrenuo do 1500 puta.
Druga važna točka u ovoj temi je razlika između uputa PRIJE, DESPUES DE i UMJESTO OD u okidaču.
Okidač s kojim radi PRIJE aktivira se prije izvršenja naredbe dajući mogućnost promjene ili poništenja ili manipulacije podacima prije nego što se promijene, a NAKON okidača pokreće se nakon izvršenja promjene, dajući tako mogućnost dobivanja već izmijenjenih podataka, ova vrsta okidača uglavnom se koristi u zapisnicima i funkcijama replikacije, UMJESTO okidača Pokreće se umjesto radnje koja bi se inače izvršila, također je jedna od posebnosti toga što radi samo s pogledima.
Izgradite funkciju pomoću okidača
Kao što kada govorimo o funkcijama, znamo da za njihovo izvršavanje možemo koristiti i druge jezike, u slučaju funkcija kao što su okidači, također je moguće koristiti gotovo bilo koji jezik, međutim PL / pgSQL Omiljeno je ispuniti ove zadatke, pa će sljedeći primjer koji ćemo vidjeti na slici biti napravljen na ovom jeziku, nakon što vidimo primjer detaljno ćemo ga objasniti:

1. Funkcija je definirana kao okidač i može se koristiti u bilo kojoj tablici koja ima stupac upd_ts. Vrijednost ovog stupca bit će promijenjena prije vraćanja. Poziv se upućuje na događaju PRIJE jer ako se koristi u DESPUES DE sve promjene u novom zapisu bile bi zanemarene.
2. Okidač će se aktivirati prije spremanja zapisa.
3. Ova funkcionalnost dostupna je samo u PostgreSQL 9.0 ili viša verzija dopušta nam samo izmjenu zapisa na koje je to stvarno utjecalo, u prethodnim verzijama bilo je potrebno napraviti usporedbe između starih i novih polja, no to nije podržano za događaj INSTEAD OF.
4. Povezujemo okidač s tablicom.
Ovim završavamo ovaj vodič u kojem smo vidjeli kako stvoriti okidač koji će se implementirati u funkciju, osim što znamo koje događaje možemo koristiti kada nam zatrebaju.Je li vam se svidio i pomogao ovaj vodič?Autor možete nagraditi pritiskom na ovaj gumb kako biste mu dali pozitivan bod
wave wave wave wave wave