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

forståelse av triggere og triggerfunksjoner

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:

CREATE TRIGGER nama_trigger [FØR | ETTER]
[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

triggerfunksjon

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

OPPRETT TABELL Salg (
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

SKAP TABEL-kjøp (
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

SKAP TABELL Vare (
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:

OPPRET TRIGGER nama_trigger
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:

Lage TRIGGER varelager
FØR INNSETT
PÅ VARER FOR HVER RAD
BEGIN
HVIS IKKE eksisterer (VELG id_brg FRA element HVOR id_brg = NEW.id_brg)

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:

OPPRET TRIGGER nama_trigger
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

SKAP TRIGGER sell_all
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:

OPPRET TRIGGER nama_trigger
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:

SKAP TRIGGER nye varer
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:

OPPRET TRIGGER nama_trigger
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:

SKAP TRIGGER nye varer
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.

kommentarer 0