PostgreSQL - funkcionira kao okidač

{title}

PostgreSQL omogućava nam korištenje različitih jezika za obavljanje funkcija, ova je funkcionalnost prilično korisna i čini je jednom od najfleksibilnijih i najmoćnijih baza podataka, ali omogućuje i funkcije poput okidača, odnosno funkcija koje automatski otkrivaju što se akcija i detonatira drugačijom radnjom, tj. ako u primjerice umetnemo u tablicu, mogao bi se aktivirati okidač koji je ažuriran u drugoj, za stavljanje vrlo osnovne operacije onoga što je okidač.
Funkcionira kao okidači
Nijedan pokretač baze podataka ne bi smio imati mogućnost upotrebe okidača za automatsko otkrivanje i upravljanje promjenama podataka. PostgreSQL nudi okidače na razini rečenice i na razini zapisa; one koje se nalaze na razini rečenice pokreću se jednom za svaku rečenicu, no one koje su na razini zapisa mogu se izvoditi više puta, na primjer, ako napravimo UPDATE koji utječe na 1500 zapisa, okidač razine rečenice pokrenut će se samo jednom, umjesto toga registracija bi se izvodila do 1500 puta.
Sljedeća je važna točka u ovoj temi razlika između preloga, NAKON i UMJESTO UPUTE u okidaču.
Okidač koji djeluje PRIJE aktivira se prije izvršenja naredbe koja daje priliku za promjenu ili otkazivanje ili manipuliranje podacima prije promjene, aktivira se AFTER nakon izvršenja promjene, čime se daje mogućnost pribavljanja podataka. modificirano, ova vrsta okidača uglavnom se koristi u funkcijama zapisivanja i kopiranja, okidač INSTEAD OF pokreće se umjesto radnje koja bi se inače izvodila, a druga je posebnost toga što djeluje samo s prikazima.
Izgradite funkciju pomoću okidača
Kao što kada govorimo o funkcijama znamo da za njihovo obavljanje možemo koristiti druge jezike, u slučaju funkcija poput okidača također je moguće koristiti gotovo bilo koji jezik, međutim PL / pgSQL je omiljen za ispunjavanje tih zadataka, pa slijedeći primjer da na slici ćemo vidjeti kako se to radi na ovom jeziku, nakon što vidimo primjer detaljno ćemo je objasniti:

{title}


1. Funkcija je definirana kao okidač i može se koristiti u bilo kojoj tablici koja sadrži stupac upd_ts. Vrijednost ovog stupca bit će promijenjena prije povratka. Poziv se obavlja u PRIJE događaja jer ako se NAKON upotrebe sve promjene u novom zapisu bile bi zanemarene.
2. Okidač će se aktivirati prije nego što se zapis pohrani.
3. Ova funkcionalnost koja je dostupna samo u PostgreSQL 9.0 ili novijoj verziji omogućuje nam samo izmjenu zapisa na koje je djelotvorno utjecalo, u prethodnim verzijama morali smo napraviti usporedbe između starog i novog polja, ali to nije podržano za događaj INSTEAD OD.
4. Povežite okidač na tablicu.
Ovim završavamo ovaj tutorial gdje smo vidjeli kako stvoriti okidač koji će se implementirati u funkciju, osim što znamo koje događaje možemo koristiti kada nam trebaju.

  • 0