PostgreSQL - funkcijas, piemēram, trigeri

Satura rādītājs
PostgreSQL ļauj mums izmantot dažādas valodas, lai veiktu funkcijas, šī funkcionalitāte ir diezgan noderīga un padara to par vienu no elastīgākajām un jaudīgākajām datu bāzēm, taču tā ļauj mums arī darbojas kā izraisītāji, tas ir, funkcijas, kas automātiski nosaka notikušo darbību un aktivizē citu darbību, tas ir, ja tabulā ievietojam, piemēram, sprūda atjaunināt citā, ievietot ļoti vienkāršu darbību, kas ir sprūda.
Funkcijas, piemēram, sprūda
Nevienam vērtīgam datu bāzes dzinējam nevajadzētu būt bez iespējas to izmantot izraisītāji lai automātiski noteiktu un apstrādātu datu izmaiņas. PostgreSQL piedāvā paziņojuma līmeņa un ieraksta līmeņa aktivizētājus; tie, kas atrodas teikuma līmenī, izpilda vienu reizi par katru teikumu, turpretī tie, kas atrodas reģistru līmenī, var izpildīt daudzas reizes, piemēram, ja mēs ATJAUNINĀT kas ietekmē 1500 ierakstus, teikuma līmeņa aktivizētājs darbosies tikai vienu reizi, savukārt ieraksta aktivizētājs darbosies līdz 1500 reizēm.
Vēl viens svarīgs punkts šajā tēmā ir atšķirība starp instrukcijām PIRMS, DESPUES DE un VIETĀ OF sprūda.
Sprūda, kas darbojas kopā PIRMS iedegas pirms komandas izpildes, dodot iespēju mainīt vai atcelt vai manipulēt ar datiem, pirms tie mainās, a PĒC sprūda tas tiek aktivizēts pēc izmaiņu veikšanas, tādējādi dodot iespēju iegūt jau modificētus datus, šāda veida sprūda lielākoties tiek izmantota žurnālos un replikācijas funkcijās, Trigera vietā Tā darbojas darbības vietā, kas parasti tiktu veikta, un vēl viena no šīs īpatnībām ir tā, ka tā darbojas tikai ar uzskatiem.
Izveidojiet funkciju ar aktivizētāju
Tā kā, runājot par funkcijām, mēs zinām, ka to veikšanai varam izmantot citas valodas, tādām funkcijām kā aktivizētāji ir iespējams izmantot arī gandrīz jebkuru valodu, tomēr PL / pgSQL Šo uzdevumu izpildīšana ir iecienīta, tāpēc šāds piemērs, ko redzēsim attēlā, tiks veidots šajā valodā, pēc tam, kad būsim redzējuši piemēru, mēs to detalizēti paskaidrosim:

1. Funkcija ir definēta kā sprūda, un to var izmantot jebkurā tabulā, kurā ir sleja upd_ts. Pirms atgriešanas šīs slejas vērtība tiks mainīta. Saruna tiek veikta pasākumā PIRMS jo, ja tas tiktu izmantots DESPUES DE visas jaunā ieraksta izmaiņas tiks ignorētas.
2. Sprūda aktivizēsies pirms ieraksta saglabāšanas.
3. Šī funkcionalitāte ir pieejama tikai PostgreSQL 9.0 vai augstāka versija ļauj mums mainīt tikai tos ierakstus, kas faktiski ir ietekmēti, iepriekšējās versijās bija nepieciešams salīdzināt vecos un jaunos laukus, taču tas netiek atbalstīts notikuma INSTEAD OF.
4. Mēs saistām aktivizētāju ar tabulu.
Ar to mēs pabeidzam šo apmācību, kur mēs esam redzējuši, kā izveidot aktivizētāju, kas tiks ieviests funkcijā, kā arī zināt, kādus notikumus mēs varam izmantot, kad tie mums ir nepieciešami.Vai jums patika šī apmācība un palīdzējāt tai?Jūs varat apbalvot autoru, nospiežot šo pogu, lai sniegtu viņam pozitīvu punktu

Jums palīdzēs attīstību vietā, daloties lapu ar draugiem

wave wave wave wave wave