Data kan omvandlas till informationbehövs med hjälp av en databas. Ursprungligen består data av en samling variabler som kommer att ändras till information med olika exekveringskommandon. På så sätt behövs databashantering för att lagra uppgifterna tills data har slutförts.

För närvarande de flesta databashanteringssystempopulär är MySQL. Många skäl till varför många användare använder MySQL, varav ett nästan stöds av en mängd MySQL-programmeringsspråk som finns tillgängliga idag.

I MySQL skapas en databas medmed hjälp av bordsfaciliteter. Förutom tabeller är MySQL också utrustad med en av triggerfunktionerna. Då vet du vad som menas med trigger? Termen trigger kan fortfarande vara obekant att höra. Trigrar blir emellertid en samling kommandon som utförs när olika operationer förekommer i tabellen.

I den här artikeln kommer vi att förklara omförståelse av triggers, triggerfunktioner och några exempel på tillämpning av triggers i MySQL. På så sätt blir du mer medveten om diskussionen om triggers i detalj. Nästa är den första diskussionen om definitionen av trigger nedan.

Förstå Trigger

förståelse av triggers och triggerfunktioner

I DBMS (Databashanteringssystem), trigger är en samling skript somrelaterade till tabeller, vyer eller scheman som körs automatiskt när det finns händelser som körs. Händelsen inkluderar operationer som vanligtvis görs vid bearbetning av databasen, till exempel:

  • DML (Data Manipulation Language) som inkluderar DELETE, INSERT eller UPDATE
  • DDL (Data Definition Language) som inkluderar CREATE, ALTER eller DROP
  • Andra databasoperationer, som SERVERERROR, LOGON, LOGOFF, STARTUP eller AVSLUTNING)

Enkelt uttryckt är kommandot att skapa en trigger som följer:

SKAPA TRIGGER nama_trigger [FÖR | EFTER]
[INSERT / UPDATE / DELETE]
PÅ nama_table
FÖR VARJE RAD
bÖRJA
// utlösa kroppen
END;

En beskrivning av den allmänna kommandoformen för att skapa en trigger, nämligen:

  • nama_trigger: namnet på den utlösare som skapats i enlighet med namnegenskaperna i MySQL
  • [FÖRE | EFTER]: visar tiden för att köra avtryckaren automatiskt, vare sig före eller efter ändringar i raddatatabellen. Så valet är EFTER eller FÖR.
  • [INSERT | UPPDATERING | DELETE]: används för att bestämma händelsen som orsakade utlösaren, valet av händelse består av INSER, UPDATE och DELETE.
  • nama_table: anger tabellen som utlösaren kommer att göra i den
  • trigger_body: visar kommandotalen i MySQL som automatiskt körs om händelsen är aktiv.

I allmänhet uttalandet som används iEn trigger är bara ett kommando. Men om du vill göra flera kommandon i det använder du kommandot i BEGIN ... END-blocket. Användningen av triggers sker när förändringar sker i posttabellen. På det sättet måste du lägga till en referens till posten, nämligen GAMMEL och NYTT. OLD anger en referenspost innan en förändring inträffar, medan OLD anger en referens efter att en ändring har inträffat.

Trigger-funktion

trigger-funktion

Vanligtvis i en relationsdatabas kan triggers varapåträffades vid körning av tabellutförande-kommandot. Det blir mer användbara triggers för att fortsätta skriva enkel programmering och kan hålla informationen konsekvent i databasen. Dessutom finns det flera triggerfunktioner som kommer att förklaras nedan.

1. Dataintegritet

Med en trigger kan du försvaratabellintegritet i databasen. Eftersom du kan utföra operationer relaterade till databasbearbetning, som INSERT, UPDATE och DELETE

2. Förhindra fel

Triggers i MySQL kan förhindra fel i datafunktioner. Om ett fel inträffar vid att definiera avtryckaren stör inte felet med den aktuella utlösaren.

3. Gör schemalagda arbetsuppgifter

När utlösaren har körts kan du använda olika programmeringsspråk utan att behöva förvirra hur du kommer åt den.

4. Förhindra obehöriga transaktionsprocesser

I praktiken används den vanliga avtryckaren förgenomföra transaktionsprocesser. Du kan spara transaktionsposten i en annan tabell (historik) utan att behöva vara rädd om uppgifterna uppdateras eller raderas. Alla ändringar som inträffar kan också randomiseras baserat på tillverkningstidpunkten.

Trigger-exempel

När du förstår innebörden av utlösarentillsammans med dess funktioner kommer författaren att ge flera exempel på tillämpningen av användningen av triggers i databasen. Generellt sett kan triggers aktiveras med händelser INSERT, UPDATE och DELETE. För mer information kommer nedan att förklaras om några exempel på händelsens tillämpning. Du måste dock skapa flera tabeller i databasen först.

1. Försäljningstabell

SKAPA TABELL Försäljning (
sell_INT INT (8) INTE NULL AUTO_INCREMENT,
customer_code VARCHAR (10) INTE NULL,
code_brg VARCHAR (5),
VARCHAR artikelnamn (35),
antalet INT (6),
priset för INT (12),
PRIMÄRKNAPP (försäljning_id);

2. Inköpstabell

SKAPA TABELL Köp (
köp INT_8 (8) NOT NULL AUTO_INCREMENT,
code_brg VARCHAR (5),
VARCHAR artikelnamn (35),
antalet INT (6),
priset för INT (12),
PRIMARY KEY (id_buy);

3. Varubord

SKAPA TABELL Objekt (
id_brg INT (8) INTE NULL AUTO_INCREMENT,
VARCHAR artikelnamn (35),
antalet INT (6),
PRIMÄRKNAPP (id_brg);

Följande användningar av utlösare du behöver veta:

a. FÖR INSERT TRIGGER

Denna trigger har en funktion för att köra triggeruppgiften innan processen att lägga till (infoga) data i en tabell är klar. Följande är triggersyntaxen i MySQL:

SKAPA TRIGGER nama_trigger
FÖR INSERT
PÅ nama_table FÖR VARJE RAD
bÖRJA
// variabel deklaration
END;

Anta till exempel att du vill kontrolleraoperation för att lägga till nya artikeldata i artikeltabellen. Om objektet tidigare har matats in visas en varning "Artikel-ID finns redan". Då är det enkla kommandot:

SKAPA TRIGGER artikel lager
FÖR INSERT
PÅ VAROR FÖR VARJE RAD
bÖRJA
OM INTE existerar (VÄLJ ID_brg FRÅN VAREN id_brg = NEW.id_brg)

STÄLL IN NY. Artikelnamn = NYTT artikelnamn. NYTT. Nummer = NYTT. Nummer;
ANNARS
SET @status = CONCAT ('ID', NEW.id_brg, 'finns redan');
END IF;

b. Trigger EFTER INSERT

Denna trigger har en funktion för att köra triggeruppgiften efter att processen att lägga till (infoga) data i en tabell är klar. Följande är triggersyntaxen i MySQL:

SKAPA TRIGGER nama_trigger
EFTER INSERT
PÅ nama_table FÖR VARJE RAD
bÖRJA
// variabel deklaration
END;

När du till exempel vill lägga till data om sålda varor minskar beloppet i artikelstabellen automatiskt. Sedan är kommandot för triggers i MySQL

SKAPA TRIGGER sell_all
EFTER INSERT
PÅ Försäljning för varje rad
bÖRJA
UPDATE artikel
SET-belopp = NYT Belopp
VAR id_brg = NEW.id_brg,
END;

c. FÖR Trigger UPDATE

Denna trigger har en funktion för att köra triggeruppgifter innan processen med att ändra (uppdatera) data i en tabell är klar. Följande är triggersyntaxen i MySQL:

SKAPA TRIGGER nama_trigger
FÖR UPPDATERING
PÅ nama_table FÖR VARJE RAD
bÖRJA
// variabel deklaration
END;

Till exempel i artikeltabellen med Id_brg ="BRG001" med artikelnamnet = "Tallrik". Genom att använda kommandot BEFORE UPDATE kommer artikelnamnet att ändras till "Glass". Då är det lämpliga kommandot för fallet ovan:

SKAPA TRIGGER nya varor
FÖR UPPDATERING PÅ VAROR FÖR VARJE RAD
bÖRJA
UPDATE Artikel
SET item_name = 'Glass'
VAR id_brg = 'BRG001 ′; SET @status = CONCAT (' Produktdata med id ', NEW.id_brg,' har uppdaterats ');</ P>

END;

d. DEFTTE EFTER TRIGGER

Denna trigger har en funktion för att köra triggeruppgifter innan processen för att radera (ta bort) data i en tabell är klar. Följande är triggersyntaxen i MySQL:

SKAPA TRIGGER nama_trigger
EFTER RADERA
PÅ nama_table FÖR VARJE RAD
bÖRJA
// variabel deklaration
END;

Till exempel vill du radera artikelpostenmed id_brg = 'BRG001', artikelnamn = 'Glas'. Då automatiskt kommer varulageret att öka i enlighet med de dataobjekt som har raderats. Följande om syntaxen för DELETE EFTER:

SKAPA TRIGGER nya varor
FÖR UPPDATERING PÅ VAROR FÖR VARJE RAD
bÖRJA
UPDATE Artikel
SET-belopp = belopp + gammalt belopp
VAR id_brg = GAMMEL; Belopp;
END;

Det är diskussionen om att förstå trigger.fungerar tillsammans med exempel på tillämpning av triggers med MySQL. Författaren hoppas att artikeln ovan hjälper dig att förstå och göra exempel på triggers på rätt sätt.

kommentarer 0