Bli kjent med definisjonen av trigger i databasen og dens funksjoner og eksempler
Data kan transformeres til informasjonnødvendig ved bruk av en database. Opprinnelig består dataene av en samling av variabler som vil bli endret til informasjon ved hjelp av forskjellige utførelseskommandoer. På den måten er databaseadministrasjon nødvendig for å lagre dataene til dataene er ferdig utført.
For tiden de fleste databasesystemerpopulær er MySQL. Mange grunner til at mange brukere bruker MySQL, hvorav den ene nesten støttes av en rekke MySQL programmeringsspråk som er tilgjengelige i dag.
I MySQL opprettes en database medved å benytte bordfasiliteter. I tillegg til tabeller, er MySQL også utstyrt med en av triggerfunksjonene. Da, vet du hva som menes med trigger? Begrepet trigger kan fremdeles være ukjent å høre. Triggere blir imidlertid en samling av kommandoer som utføres når forskjellige operasjoner forekommer i tabellen.
I denne artikkelen vil vi forklareforståelse av triggere, triggerfunksjoner og noen eksempler på anvendelse av triggere i MySQL. På den måten blir du mer oppmerksom på diskusjonen om triggere i detalj. Neste er den første diskusjonen om definisjonen av trigger nedenfor.
Forstå Trigger
I DBMS (Database Management System), trigger er en samling av skript somrelatert til tabeller, visninger eller skjemaer som kjøres automatisk når det er hendelser som kjøres. Arrangementet inkluderer operasjoner som vanligvis gjøres i behandlingen av databasen, for eksempel:
- DML (Data Manipulation Language) som inkluderer DELETE, INSERT eller UPDATE
- DDL (Data Definition Language) som inkluderer CREATE, ALTER eller DROP
- Andre databaseoperasjoner, for eksempel SERVERERROR, LOGON, LOGOFF, STARTUP eller SHUTDOWN)
Enkelt sagt er kommandoen for å lage en trigger som følger:
[INSERT / UPDATE / DELETE]
PÅ nama_table
FOR HVER RAD
BEGIN
// trigger kroppen
END;
En beskrivelse av den generelle kommandoformen ved å lage en trigger, nemlig:
- nama_trigger: navnet på utløseren som er opprettet i samsvar med navnegenskapene i MySQL
- [FØR | ETTER]: viser tidspunktet for å utføre avtrekkeren automatisk, enten før eller etter endringer i raddatatabellen. Så valget er ETTER eller FØR.
- [INSERT | OPPDATERING | SLETT]: brukes til å bestemme hendelsen som forårsaket utløseren, valget av hendelse består av INSER, OPPDATERING og SLETT.
- nama_table: indikerer tabellen som utløseren vil gjøre i den
- trigger_body: viser kommandosetningen i MySQL som automatisk kjøres hvis hendelsen er aktiv.
Generelt er utsagnet brukt iEn trigger er bare en kommando. Hvis du imidlertid vil lage flere kommandoer i den, kan du bruke kommandoen til BEGIN ... END-blokken. Bruk av triggere skjer når det skjer endringer i posttabellen. På den måten, der må du legge til en referanse til posten, nemlig GAMMEL og NYTT. OLD indikerer en referansepost før en endring skjer, mens OLD indikerer en referanse etter at en endring har skjedd.
Utløserfunksjon
Vanligvis i en relasjonsdatabase kan triggere væreoppstått når du utfører kommandoen for utførelse av tabellen. Det blir mer nyttige triggere for å fortsette å skrive enkel programmering og kan holde informasjonen konsistent i databasen. I tillegg er det flere triggerfunksjoner som vil bli forklart nedenfor.
1. Dataintegritet
Med en trigger kan du forsvaretabellintegritet som finnes i databasen. Fordi du kan utføre operasjoner relatert til databasebehandling, for eksempel INSERT, UPDATE og DELETE
2. Forhindre feil
Utløsere i MySQL kan forhindre feil i dataoperasjoner. Hvis det oppstår en feil i å definere avtrekkeren, forstyrrer ikke feilen den gjeldende utløseren.
3. Gjør arbeidsoppgaver planlagt
Når utløseren er kjørt, kan du bruke forskjellige programmeringsspråk uten å måtte forvirre hvordan du får tilgang til den.
4. Forhindre uautoriserte transaksjonsprosesser
I praksis brukes den vanlige avtrekkeren tilgjennomføre transaksjonsprosesser. Du kan lagre transaksjonsposten i en annen tabell (historie) uten å være redd for om dataene blir oppdatert eller slettet. Alle endringer som skjer, kan også randomiseres basert på produksjonstidspunktet.
Trigger-eksempel
Etter at du har forstått betydningen av avtrekkerensammen med funksjonene vil forfatteren gi flere eksempler på bruken av bruk av triggere i databasen. Generelt kan triggere aktiveres ved å bruke INSERT, UPDATE og DELETE events. For mer detaljer, vil du bli forklart nedenfor om noen eksempler på bruken av arrangementet. Du må imidlertid opprette flere tabeller i databasen først.
1. Salgstabell
sell_INT INT (8) IKKE NULL AUTO_INCREMENT,
customer_code VARCHAR (10) IKKE NULL,
code_brg VARCHAR (5),
VARCHAR varenavn (35),
antall INT (6),
prisen på INT (12),
PRIMÆR Nøkkel (salg_id);
2. Kjøp av tabeller
kjøp INT_8 (8) IKKE NULL AUTO_INCREMENT,
code_brg VARCHAR (5),
VARCHAR varenavn (35),
antall INT (6),
prisen på INT (12),
PRIMARY KEY (id_buy);
3. Varebord
id_brg INT (8) IKKE NULL AUTO_INCREMENT,
VARCHAR varenavn (35),
antall INT (6),
PRIMÆR Nøkkel (id_brg);
Følgende bruksområder av utløsere du trenger å vite:
a. FØR INNSTILL TRIGGER
Denne utløseren har en funksjon for å kjøre triggeroppgaven før prosessen med å legge til (sette inn) data i en tabell er utført. Følgende er trigger-syntaks i MySQL:
FØR INNSETT
PÅ nama_table FOR HVER ROW
BEGIN
// variabel erklæring
END;
Anta for eksempel at du vil sjekkedrift av å legge til nye varedata i varetabellen. Hvis varen tidligere er lagt inn, vises en advarsel "Vare-ID finnes allerede". Da er den enkle kommandoen:
FØR INNSETT
PÅ VARER FOR HVER RAD
BEGIN
HVIS IKKE eksisterer (VELG id_brg FRA element HVOR id_brg = NEW.id_brg)
SÅ
INNSTILL NY. Varenavn = NYTT varenavn. NYTT. Antall = NYTT. Antall;
ELSE
SET @status = CONCAT (‘ID‘, NEW.id_brg, ‘eksisterer allerede’);
SLUTT HVIS;
b. Trigger ETTER INNSTILLING
Denne utløseren har en funksjon for å kjøre triggeroppgaven etter at prosessen med å legge til (sette inn) data i en tabell er utført. Følgende er trigger-syntaks i MySQL:
ETTER INSERT
PÅ nama_table FOR HVER ROW
BEGIN
// variabel erklæring
END;
Når du for eksempel vil legge til data om varer som er solgt, vil beløpet i varetabellen automatisk reduseres. Da er kommandoen for triggere i MySQL
ETTER INSERT
PÅ salg FOR HVER RAD
BEGIN
OPPDATERING
SET beløp = NY beløp
HVOR id_brg = NY.id_brg,
END;
c. FØR Trigger-oppdatering
Denne utløseren har en funksjon for å kjøre triggeroppgaven før prosessen med å endre (oppdatere) data i en tabell er utført. Følgende er trigger-syntaks i MySQL:
FØR OPPDATERING
PÅ nama_table FOR HVER ROW
BEGIN
// variabel erklæring
END;
For eksempel i varetabellen med Id_brg =‘BRG001’ med item_name = “Tallerken”. Ved å bruke BEFORE UPDATE-kommandoen, vil varenavnet bli endret til "Glass". Da er den passende kommandoen for saken ovenfor:
FØR OPPDATERING PÅ VARER FOR HVER RAD
BEGIN
OPPDATERING Vare
SET item_name = 'Glass'
HVOR id_brg = 'BRG001 ′; SET @status = CONCAT (‘Varedata med ID‘, NEW.id_brg, ‘har blitt oppdatert’);</ P>
END;
d. DEFTTE ETTER TRIGGER
Denne utløseren har en funksjon for å kjøre triggeroppgaver før prosessen med å slette (slette) data i en tabell er utført. Følgende er trigger-syntaks i MySQL:
ETTER SLETT
PÅ nama_table FOR HVER ROW
BEGIN
// variabel erklæring
END;
For eksempel vil du slette varepostenmed id_brg = ‘BRG001’, item_name = ‘Glass’. Så automatisk vil varebeholdningen øke i samsvar med dataelementene som er blitt slettet. Følgende om syntaks for SLETT ETTER:
FØR OPPDATERING PÅ VARER FOR HVER RAD
BEGIN
OPPDATERING Vare
SET beløp = beløp + GAML. Beløp
HVOR id_brg = GAMMEL; beløp;
END;
Det er diskusjonen om å forstå trigger,fungerer sammen med eksempler på bruk av triggere ved bruk av MySQL. Forfatteren håper artikkelen over hjelper deg å forstå og lage eksempler på utløsere riktig.