Tiedot voidaan muuttaa tietoiksitarvitaan tietokannan avulla. Aluksi tiedot koostuvat muuttujien kokoelmasta, joka muutetaan tiedoksi käyttämällä erilaisia ​​suorituskomentoja. Tällä tavalla tietokannan hallintaa tarvitaan tietojen tallentamiseksi siihen saakka, kunnes tiedot on suoritettu loppuun.

Tällä hetkellä useimmat tietokannan hallintajärjestelmätsuosittu on MySQL. Monia syitä siihen, miksi monet käyttäjät käyttävät MySQL: tä, jota useat tänään saatavilla olevat MySQL-ohjelmointikielet tukevat melkein yhtä.

MySQL: ssä tietokanta luodaanpöytätilojen hyödyntäminen. Taulukoiden lisäksi MySQL on varustettu yhdellä laukaisuominaisuuksista. Sitten tiedätkö mitä liipaisulla tarkoitetaan? Termi laukaisija voi silti olla tuntematon kuulla. Liipaisimista tulee kuitenkin komentokokoelma, joka suoritetaan, kun taulukossa tapahtuu erilaisia ​​toimintoja.

Tässä artikkelissa selitetäänymmärrys liipaisimista, liipaisutoiminnoista ja joitain esimerkkejä liipaisimien käytöstä MySQL: ssä. Tällä tavoin saat enemmän tietoisuutta liipaisujen keskustelusta yksityiskohtaisesti. Seuraava on ensimmäinen keskustelu laukaisimen määritelmästä alla.

Liipaisimen ymmärtäminen

liipaisimien ja laukaisutoimintojen ymmärtäminen

Tietokannan hallintajärjestelmässä (Tietokannan hallintajärjestelmä), liipaisin on kokoelma skriptejä, jotkaliittyvät taulukoihin, näkymiin tai järjestelmiin, jotka toimivat automaattisesti, kun on tapahtumia, jotka ovat käynnissä. Tapahtuma sisältää operaatiot, jotka yleensä tehdään tietokannan käsittelyssä, kuten:

  • DML (Data Manipulation Language), joka sisältää POISTA, Lisää tai päivitä
  • DDL (Data Definition Language), joka sisältää CREATE, ALTER tai DROP
  • Muut tietokantatoiminnot, kuten PALVELIN, LOGON, LOGOFF, KÄYNNISTYS tai PYSÄYTYS)

Yksinkertaisesti sanottuna, komento triggerin luomiseksi on seuraava:

CREATE TRIGGER nama_trigger [ENNEN | JÄLKEEN]
[Lisää / päivitä / poista]
PÄÄLLÄ nama_table
Jokaiselle riville
BEGIN
// liipaisimen runko
END;

Kuvaus yleisestä komentomuodosta liipaisimen luomisessa, nimittäin:

  • nama_trigger: käynnistimen nimi, joka on luotu MySQL: n nimeämisominaisuuksien mukaisesti
  • [ENNEN | JÄLKEEN]: näyttää ajan, joka suorittaa laukaisimen automaattisen, joko ennen tai jälkeen rivitiedot-taulukon muuttamisen. Joten valinta on JÄLKEEN tai ENNEN.
  • [Lisää] PÄIVITYS | POISTA]: käytetään määrittämään liipaisun aiheuttanut tapahtuma. Tapahtuman valinta koostuu INSER, UPDATE ja DELETE.
  • nama_table: näyttää taulukon, jonka liipaisin tekee siinä
  • trigger_body: näyttää MySQL: ssä komennon, joka suoritetaan automaattisesti, jos tapahtuma on aktiivinen.

Yleensä vuonna 2004 käytetty lauseLiipaisin on vain komento. Jos kuitenkin haluat tehdä useita komentoja siihen, käytä komentoa BEGIN ... END -lohkoon. Laukaisimien käyttö tapahtuu, kun tietuetaulukossa tapahtuu muutoksia. Tällä tavalla sinun on lisättävä viittauksia levyyn, nimittäin OLD ja NEW. OLD ilmaisee referenssitietueen ennen muutoksen tapahtumista, kun taas OLD osoittaa referenssitietueen muutoksen jälkeen.

Käynnistystoiminto

laukaisutoiminto

Yleensä relaatiotietokannassa liipaisimet voivat ollakohdattu suoritettaessa taulukon suorituskomentoa. Siitä tulee hyödyllisempi laukaisee yksinkertaisen ohjelmoinnin kirjoittaminen ja se voi pitää tiedot yhdenmukaisina tietokannassa. Lisäksi on olemassa useita laukaisutoimintoja, jotka selitetään alla.

1. Tietojen eheys

Liipaisimella voit puolustaatietokannan sisältämä taulukon eheys. Koska voit suorittaa tietokantojen käsittelyyn liittyviä toimintoja, kuten INSERT, UPDATE ja DELETE

2. Estä virhe

MySQL: n liipaisimet voivat estää virheitä dataoperaatioissa. Jos laukaisimen määrittelyssä tapahtuu virhe, virhe ei häiritse nykyistä liipaisinta.

3. Tee työtehtävät ajoitettuiksi

Kun liipaisin on suoritettu, voit käyttää erilaisia ​​ohjelmointikieliä joutumatta sekoittamaan sitä pääsyä.

4. Luvattomien transaktioprosessien estäminen

Käytännössä käytetään tavallista liipaisintasuorittaa transaktioprosesseja. Voit tallentaa tapahtumadietueen toiseen taulukkoon (historiaan) tarvitsematta pelätä, jos tiedot päivitetään tai poistetaan. Kaikki tapahtuvat muutokset voidaan myös satunnaistaa valmistusajan perusteella.

Käynnistysesimerkki

Kun olet ymmärtänyt liipaisimen merkityksenkirjoittaja antaa toimintojensa lisäksi useita esimerkkejä liipaisimien käytön soveltamisesta tietokantaan. Liipaisimet voidaan yleensä aktivoida INSERT-, UPDATE- ja DELETE-tapahtumien avulla. Seuraavassa selitetään yksityiskohtaisemmin esimerkkejä tapahtuman soveltamisesta. Ensin on kuitenkin luotava useita taulukoita tietokantaan.

1. Myyntitaulukko

Luo taulukko Myynti (
sell_INT INT (8) EI NULL AUTO_INCREMENT,
VARCHAR asiakaskoodi (10) EI ole nolla,
code_brg VARCHAR (5),
VARCHAR tuotenimi (35),
INT: n (6) lukumäärä,
INT: n hinta (12),
ALKUPERÄINEN AVAIN (myyntitunnus);

2. Ostotaulukko

Luo taulukko -ostokset
ostaa INT_8 (8) EI NULL AUTO_INCREMENT,
code_brg VARCHAR (5),
VARCHAR tuotenimi (35),
INT: n (6) lukumäärä,
INT: n hinta (12),
ALKUPERÄINEN AVAIN (id_buy);

3. Tavarataulukko

Luo taulukko Kohta (
id_brg INT (8) EI NULL AUTO_INCREMENT,
VARCHAR tuotenimi (35),
INT: n (6) lukumäärä,
ALKUPERÄINEN AVAIN (id_brg);

Seuraavat liipaisimien käyttötavat, jotka sinun on tiedettävä:

a. ENNEN LISÄÄ TRIGGER

Tällä liipaisimella on tehtävä suorittaa liipaisutehtävä, ennen kuin data lisätään (lisätään) taulukkoon. Seuraava on laukaisusyntaksi MySQL: ssä:

CREATE TRIGGER nama_trigger
ENNEN LISÄÄ
PÄÄLLE nama_table jokaiselle riville
BEGIN
// muuttujan ilmoitus
END;

Oletetaan esimerkiksi, että haluat tarkistaauusien tuotetietojen lisääminen toimintotaulukkoon. Jos kohde on syötetty aiemmin, näyttöön tulee varoitus "Tuotetunnus on jo olemassa". Sitten yksinkertainen komento on:

CREATE TRIGGER -tuotevarasto
ENNEN LISÄÄ
KAIKKIEN RIVIEN TAVAROISSA
BEGIN
JOS EI OLE olemassa (VALITSE id_brg LÄHTEEN WHEREstä id_brg = NEW.id_brg)
NIIN
Aseta uusi. Tuotenimi = UUSI tuotteen nimi. UUSI. Numero = UUS. Numero;
ELSE
SET @status = CONCAT ('ID', NEW.id_brg, 'on jo olemassa');
LOPPU JOS;

b. Liipaisin INSERTIN JÄLKEEN

Tällä liipaisimella on tehtävä suorittaa liipaisutehtävä sen jälkeen, kun tietojen lisääminen (lisääminen) taulukkoon on suoritettu. Seuraava on laukaisusyntaksi MySQL: ssä:

CREATE TRIGGER nama_trigger
LISÄYS JÄLKEEN
PÄÄLLE nama_table jokaiselle riville
BEGIN
// muuttujan ilmoitus
END;

Esimerkiksi, kun haluat lisätä tietoja myydyistä tavaroista, niin Tuote-taulukon määrä pienenee automaattisesti. Sitten MySQL: n laukaisukomento on

CREATE TRIGGER sell_all
LISÄYS JÄLKEEN
KAUPALLISESSA myynnissä
BEGIN
Päivitä kohde
SET määrä = UUSI määrä
WHERE id_brg = NEW.id_brg,
END;

C. ENNEN ALOITTAA PÄIVITÄ

Tällä liipaisimella on tehtävä suorittaa liipaisutehtävä ennen kuin taulukon tietojen muuttaminen (päivittäminen) on suoritettu. Seuraava on laukaisusyntaksi MySQL: ssä:

CREATE TRIGGER nama_trigger
ENNEN PÄIVITTÄMISTÄ
PÄÄLLE nama_table jokaiselle riville
BEGIN
// muuttujan ilmoitus
END;

Esimerkiksi Kohdetaulukossa Id_brg ='BRG001' tuotenimellä_nimi = "Levy". Käytä BEFORE UPDATE -komentoa, kohteen nimi muuttuu "Lasiksi". Tällöin asianmukainen komento yllä olevalle tapaukselle on:

Luo TRIGGER uusia tuotteita
ENNEN PÄIVITTÄMISTÄ TAVAROIDEN KOHTAINEN JOTKA
BEGIN
PÄIVITÄ Kohta
SET item_name = 'lasi'
WHERE id_brg = 'BRG001'; SET @status = CONCAT ('Tuotetiedot tunnuksella', NEW.id_brg, 'on päivitetty');</ P>

END;

d. VAKAUS LISÄAINEEN JÄLKEEN

Tällä liipaisimella on tehtävä suorittaa liipaisutehtäviä ennen taulukon tietojen poistamista (poistamista). Seuraava on laukaisusyntaksi MySQL: ssä:

CREATE TRIGGER nama_trigger
POISTAMISEN JÄLKEEN
PÄÄLLE nama_table jokaiselle riville
BEGIN
// muuttujan ilmoitus
END;

Esimerkiksi, haluat poistaa kohteetietueenkanssa id_brg = 'BRG001', item_name = 'Glass'. Tällöin tavarakanta kasvaa automaattisesti poistettujen tietoerien mukaan. Seuraavaksi POISTA JÄLKEEN syntaksia:

Luo TRIGGER uusia tuotteita
ENNEN PÄIVITTÄMISTÄ TAVAROIDEN KOHTAINEN JOTKA
BEGIN
PÄIVITÄ Kohta
SET määrä = määrä + vanha määrä
Missä id_brg = vanha määrä;
END;

Se on keskustelu laukaisimen ymmärtämisestä,toiminnot sekä esimerkkejä liipaisimien käytöstä MySQL: llä. Kirjoittaja toivoo, että yllä oleva artikkeli auttaa sinua ymmärtämään ja tekemään esimerkkejä liipaisimista oikein.

Kommentit 0