Aktivizēt programmēšanu MySQL
Aktivizē vai parasti sauc "aktivizētāju" programmēšana Tie ir objektu veidi, kas atrodami datu bāzēs. Kad šajā datubāzē tiek veikts noteikts notikums vai darbība, mūsu aktivizētājs automātiski izpilda darbību, kurai mēs to iepriekš esam ieprogrammējuši.
izraisītāji tie tiek aktivizēti automātiski, kad tiek veiktas darbības INSERT, DELETE vai UPDATE, kuras attiecīgi tiek ievietotas, dzēstas vai atjauninātas. Veicot kādu no šīm darbībām, mūsu aktivizētāji izpilda norādījumus vai instrukciju blokus, kuriem tie iepriekš bija ieprogrammēti.
trigera struktūra MySQL ir nākamais:
PALIELINĀT
[DEFINER = {lietotājs | CURRENT_USER}]Šī koda daļa norāda datu bāzes pārvaldniekam, kuram lietotājam ir privilēģijas izsaukt mūsu aktivizētājus, kad notiks DML notikumi. Noklusējuma vērtība ir CURRENT_USER.
Lai izvēlētos mūsu aktivizētāja nosaukumu, ir jāievēro ļoti labs kritērijs, kas ir šāds: vispirms ievietojiet tabulas nosaukumu, pēc tam DML darbības sākumu (I ievietošanai, D dzēšanai vai U atjaunināšanai) un pēc tam iniciālis no izpildes brīža (vai nu A pēc, vai B pirms).
PIRMS | DESPUES DETas norāda tikai brīdi, kad tiks aktivizēts mūsu aktivizētājs, tas ir, ja aktivizētājs tiek aktivizēts pirms DML notikuma (pirms) vai pēc (pēc).
IEVIETOT | DELETE | ATJAUNINĀTTas mums norāda, kāds būs teikums, ko mēs izmantosim, lai aktivizētu aktivizētāju, ievietojiet, lai ievadītu datus, dzēstu, lai tos dzēstu, vai atjauniniet, lai tos mainītu.
ON tabulas nosaukumsTas norāda tabulu, kas saistīta ar mūsu aktivizētāju.
KATRAI RindaiTas tikai norāda, ka aktivizētājs tiks izpildīts katrai mūsu tabulas rindai, kas iepriekš definēta ieslēgtajā stāvoklī.
gala sql paziņojums vai instrukciju bloks būs teikums vai teikumi, kurus aktivizētājs izpildīs, kad tas sāks darboties.
Trigera praktiskais piemērs
Tagad mēs redzēsim praktisku piemēru tam, kā ieprogrammēt sprūdu autobusa biļešu pārdošanai noteiktam maršrutam, kamēr ir brīvas vietas.
Mēs varam izmantot jebkuru programmatūru, kas pieņem aktivizētājus un saglabātos procesus.
1 Mēs izveidojam datu bāzi:
2. pēc kārtas mēs izveidojam divas tabulas mūsu datu bāzē. Viena no tām ir vieta, kur mēs uzglabāsim pārdotās biļetes, bet otra ir izveidota, lai mēs varētu zināt, cik biļešu ir pieejams konkrētajam braucienam.
Šeit ir tabula, kurā būs informācija par pārdoto biļešu skaitu:
Tālāk mēs izveidojam tabulu, kurā mēs saglabājam informāciju par katrā konkrētajā braucienā pieejamo biļešu skaitu:
3. tagad mēs izveidojam tabulu lai saglabātu dažādus ceļojumus:
4. Pēc datu bāzes un tabulu izveides mēs izveidosim sprūda SQL vaicājumu, bet pirms tam mums jāzina, kas ir JAUNI un VECI identifikatori izraisītājos.
Lai mūsu aktivizētājs būtu saistīts ar vienu vai vairākām konkrētām tabulas kolonnām, mums jāizmanto iepriekš minētie identifikatori JAUNS UN VECS.
VECS: norāda kolonnas veco vērtību
JAUNUMS: jauno vērtību, ko tā varētu ņemt.
Kā piemērs: OLD.idtrip vai NEW.idtrip.
Ar INSERT paziņojums Mēs varam izmantot tikai JAUNO identifikatoru, jo ar INSERT ģenerētā funkcija ir ieviest jaunas vērtības kolonnā vai kolonnās.
Ja mēs izmantojam DELETE paziņojums šajā gadījumā mums jāizmanto vecais identifikators, jo ar DELETE mēs dzēšam vērtības, kas jau pastāvēja iepriekš.
No otras puses, ja mēs izmantojam UPDATE paziņojums Mēs varam izmantot veco un jauno, jo mēs varam atsaukties uz vecām vai jaunām vērtībām, jo mēs mainīsim ierakstus, kas jau pastāvēja citām vērtībām.
Tagad, kad mēs saprotam identifikatorus, SQL paziņojums izskatīsies šādi:
Ja mēs izpildām SQL paziņojumu programmā, kas to atbalsta, mēs to patiešām redzētu aktivizētājs ir izveidots.
Lai redzētu, kā tas darbojas, mēs ieviešam dažas loģiskas vērtības braucienam ar autobusu, piemēram:
Šeit ceļojumā esmu ievadījis identifikatoru numuru 1, ka ir pieejamas 45 vietas.
Pēc tam mēs pārdodam biļeti, piemēram, biļeti, kas atbilst 14. vietai:
Veicot šo vaicājumu, dodoties uz lauku current_availability, mēs redzēsim, ka 45 ir mainījies uz 44, jo tika aktivizēts aktivizētājs “update_availability”.
trigeru izmantošanas priekšrocības ir tas, ka var tikt ieprogrammēti dažādi lietošanas gadījumi un tiek saglabāta datu bāzes integritāte, tas ir, tas dod mums iespēju izveidot rutīnas, kas automātiski izpilda noteiktas darbības bez nepieciešamības to darīt manuāli. Tas būtu ļoti derīgi, lai apstiprinātu jebkāda veida informāciju vai veiktu dažus datu bāzes pārraudzības pasākumus.
Vēl viens ļoti interesants piemērs, kā es tikko minēju apstiprinājumos, ir pilngadības noteikšana pirms teikuma sastādīšanas, piemēram:
Kad esam redzējuši aktivizētāju izveides piemērus, mums jāzina, kā piekļūt aktivizētāja informācijai. Šim nolūkam mēs izmantosim teikumus:
Lai skatītu aktivizētājus mūsu datu bāzē:
RĀDĪT TRIGERINo otras puses, ja mēs vēlamies redzēt informāciju par aktivizētāju, kas pašlaik ir izveidots:
RĀDĪT CREATE TRIGGER student_BU_triggerVisbeidzot, pēc tam, kad esam redzējuši, kā tiek izveidoti un parādīti aktivizētāji, mēs redzēsim, kāds paziņojums tiek izmantots, lai novērstu mūsu datu bāzē esošo aktivizētāju.
Lai to izdarītu, mums vienkārši jāizmanto tipiskā dzēšanas komanda: piliens.
DROP TRIGGER [IF_EXISTS] triger_nameVai 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