Dáta je možné transformovať na informáciepotrebné pomocou databázy. Údaje spočiatku pozostávajú zo súboru premenných, ktoré sa zmenia na informácie pomocou rôznych príkazov na vykonanie. Týmto spôsobom je potrebné spravovať databázu na ukladanie údajov, kým sa dáta neskončia.

V súčasnosti väčšina systémov správy databázpopulárna je MySQL. Mnoho dôvodov, prečo veľa používateľov používa MySQL, z ktorých jeden je takmer podporovaný rôznymi programovacími jazykmi MySQL, ktoré sú dnes k dispozícii.

V MySQL je databáza vytvorená pomocous využitím stolových zariadení. Okrem tabuliek je MySQL tiež vybavená jednou zo spúšťacích funkcií. Potom viete, čo sa myslí podnetom? Pojem spúšť môže byť stále neznámy. Spúšťače sa však stanú súborom príkazov, ktoré sa vykonávajú, keď sa v tabuľke vyskytnú rôzne operácie.

V tomto článku si vysvetlímeporozumenie spúšťačom, spúšťacím funkciám a niektorým príkladom aplikácie spúšťačov v MySQL. Týmto spôsobom si podrobnejšie uvedomíte diskusiu o spúšťačoch. Nasleduje prvá diskusia o definícii spúšťača.

Pochopenie spúšťača

pochopenie spúšťacích a spúšťacích funkcií

V DBMS (Systém správy databáz), trigger je zbierka skriptov, ktorévzťahujúce sa na tabuľky, zobrazenia alebo schémy, ktoré sa spúšťajú automaticky, keď sa vyskytnú udalosti. Táto udalosť zahŕňa operácie, ktoré sa zvyčajne vykonávajú pri spracovaní databázy, ako napríklad:

  • DML (Data Manipulation Language), ktorý obsahuje DELETE, INSERT alebo UPDATE
  • DDL (Data Definition Language), ktorý obsahuje CREATE, ALTER alebo DROP
  • Iné databázové operácie, ako napríklad SERVERERROR, LOGON, LOGOFF, STARTUP alebo SHUTDOWN)

Jednoducho povedané, príkaz na vytvorenie spúšťača je nasledujúci:

VYTVORIŤ TRIGGER nama_trigger [PRED | POČAS]
[INSERT / UPDATE / DELETE]
ON nama_table
PRE KAŽDÝ ROW
BEGIN
// spúšťacie telo
END;

Opis všeobecného príkazového formulára pri vytváraní spúšťača, konkrétne:

  • nama_trigger: názov spúšťača vytvoreného v súlade s charakteristikami pomenovávania v MySQL
  • [PRED PRED AFTEROM]: zobrazuje čas na automatické spustenie spúšťača, či už pred alebo po zmene v tabuľke údajov riadkov. Takže voľba je PO AKO PRED.
  • [VLOŽIŤ | AKTUALIZÁCIA DELETE]: používa sa na určenie udalosti, ktorá spôsobila spúšť, výber udalosti sa skladá z INSER, UPDATE a DELETE.
  • nama_table: zobrazuje tabuľku, ktorú v nej vykoná spúšťač
  • trigger_body: zobrazuje príkazový príkaz v MySQL, ktorý sa automaticky spustí, ak je udalosť aktívna.

Všeobecne platí, že vyhlásenie použité vSpúšťač je iba príkaz. Ak však v ňom chcete vykonať niekoľko príkazov, použite príkaz do bloku BEGIN ... END. Použitie spúšťačov nastane, keď sa vyskytnú zmeny v tabuľke záznamov. Týmto spôsobom je potrebné pridať odkaz na záznam, konkrétne OLD a NEW. OLD označuje referenčný záznam pred uskutočnením zmeny, zatiaľ čo OLD označuje referenciu po zmene.

Spúšťacia funkcia

aktivačná funkcia

Zvyčajne v relačnej databáze môžu byť spúšťačesa vyskytli pri vykonávaní príkazu na vykonanie tabuľky. Je užitočnejším spúšťačom, ktorý umožňuje písať jednoduché programovanie, a môže udržiavať konzistentné informácie v databáze. Ďalej existuje niekoľko spúšťacích funkcií, ktoré budú vysvetlené nižšie.

1. Integrita údajov

S spúšťou sa môžete brániťintegrity tabuľky obsiahnutej v databáze. Preto môžete vykonávať operácie súvisiace so spracovaním databázy, napríklad INSERT, UPDATE a DELETE

2. Zabráňte chybe

Spúšťače v MySQL môžu zabrániť chybám v dátových operáciách. Ak pri definovaní spúšťača dôjde k chybe, chyba nezasahuje do aktuálneho spúšťača.

3. Vykonajte naplánovanie pracovných úloh

Po spustení spúšťača môžete používať rôzne programovacie jazyky bez toho, aby ste si museli zamieňať spôsob prístupu k nemu.

4. Predchádzanie nepovoleným transakčným procesom

V praxi sa používa obvyklý spúšťačvykonávať transakčné procesy. Záznam transakcie môžete uložiť do inej tabuľky (histórie) bez obáv z aktualizácie alebo odstránenia údajov. Všetky zmeny, ktoré sa vyskytnú, môžu byť tiež randomizované podľa času výroby.

Spúšťací príklad

Keď pochopíte význam spúšťačaspolu so svojimi funkciami uvedie autor niekoľko príkladov použitia spúšťačov v databáze. Spúšťače sa vo všeobecnosti dajú aktivovať pomocou udalostí INSERT, UPDATE a DELETE. Pre viac informácií nižšie uvádzame niektoré príklady použitia udalosti. Najprv však musíte vytvoriť niekoľko tabuliek v databáze.

1. Tabuľka predaja

VYTVORIŤ TABUĽKU predaja (
sell_INT INT (8) NOT NULL AUTO_INCREMENT,
customer_code VARCHAR (10) NOT NULL,
code_brg VARCHAR (5),
VARCHAR item_name (35),
číslo INT (6),
cena INT (12),
PRIMÁRNY KĽÚČ (sales_id);

2. Tabuľka nákupov

VYTVORIŤ TABUĽKU nákupov (
kúpiť INT_8 (8) NOT NULL AUTO_INCREMENT,
code_brg VARCHAR (5),
VARCHAR item_name (35),
číslo INT (6),
cena INT (12),
PRIMÁRNY KĽÚČ (id_buy);

3. Tabuľka tovaru

CREATE TABLE Položka (
id_brg INT (8) NOT NULL AUTO_INCREMENT,
VARCHAR item_name (35),
číslo INT (6),
PRIMÁRNY KĽÚČ (id_brg);

Potrebujete vedieť tieto spôsoby použitia:

a. PRED INSERT TRIGGEROM

Tento spúšťač má funkciu na spustenie spúšťacej úlohy pred dokončením procesu pridávania (vkladania) údajov do tabuľky. Nasleduje spúšťacia syntax v MySQL:

VYTVORIŤ TRIGGER nama_trigger
PRED VLOŽENÍM
ON nama_table PRE KAŽDÝ ROW
BEGIN
// vyhlásenie o premennej
END;

Predpokladajme napríklad, že chcete skontrolovaťoperácia pridávania nových údajov o položkách do tabuľky položiek. Ak bola položka už zadaná, zobrazí sa varovanie „ID položky už existuje“. Potom je jednoduchý príkaz:

CREATE TRIGGER položka na sklade
PRED VLOŽENÍM
O TOVARU PRE KAŽDÝ ROW
BEGIN
AK NE EXISTUJÚ (VYBERTE id_brg OD položky KDE id_brg = NEW.id_brg)
PAK
SET NOVÝ Názov položky = NOVÝ názov položky NOVINKA Číslo = NOVINKA Číslo;
ELSE
SET @status = CONCAT („ID“, NEW.id_brg, „už existuje“);
END IF;

b. Spustiť PO VLOŽENÍ

Tento spúšťač má funkciu na spustenie spúšťacej úlohy po dokončení procesu pridávania (vkladania) údajov do tabuľky. Nasleduje spúšťacia syntax v MySQL:

VYTVORIŤ TRIGGER nama_trigger
PO VLOŽENÍ
ON nama_table PRE KAŽDÝ ROW
BEGIN
// vyhlásenie o premennej
END;

Napríklad, ak chcete pridať údaje o predanom tovare, automaticky sa zníži množstvo v tabuľke položiek. Potom príkaz pre spúšťače v MySQL je

VYTVORIŤ TRIGGER sell_all
PO VLOŽENÍ
O predaji ZA KAŽDÝ ROW
BEGIN
AKTUALIZUJTE položku
SET suma = NOVINKA
WHERE id_brg = NEW.id_brg,
END;

c. PRED AKTUALIZÁCIOU Spúšťania

Tento spúšťač má funkciu na spustenie spúšťacej úlohy pred dokončením procesu zmeny (aktualizácie) údajov v tabuľke. Nasleduje spúšťacia syntax v MySQL:

VYTVORIŤ TRIGGER nama_trigger
PRED AKTUALIZÁCIOU
ON nama_table PRE KAŽDÝ ROW
BEGIN
// vyhlásenie o premennej
END;

Napríklad v tabuľke položiek s Id_brg =„BRG001“ s položkou item_name = „Plate“. Použitím príkazu PRED AKTUALIZÁCIOU sa názov položky zmení na „Sklo“. Potom je vhodným príkazom pre vyššie uvedený prípad:

VYTVORIŤ TRIGGER nový tovar
PRED AKTUALIZÁCIOU TOVARU ZA KAŽDÝ ROW
BEGIN
AKTUALIZUJTE položku
SET item_name = 'Glass'
KEĎ id_brg = 'BRG001'; SET @status = CONCAT („Údaje o položkách s ID“, NEW.id_brg, „boli aktualizované“);</ P>

END;

d. DEFTTE PO TRIGGERE

Tento spúšťač má funkciu na spúšťanie spúšťacích úloh pred dokončením procesu mazania (mazania) údajov v tabuľke. Nasleduje spúšťacia syntax v MySQL:

VYTVORIŤ TRIGGER nama_trigger
PO ODSTRÁNENÍ
ON nama_table PRE KAŽDÝ ROW
BEGIN
// vyhlásenie o premennej
END;

Napríklad chcete odstrániť záznam položkys id_brg = „BRG001“, item_name = „Glass“. Zásoba tovaru sa potom automaticky zvýši v súlade s údajmi, ktoré boli vymazané. Nasleduje syntax pre príkaz DELETE AFTER:

VYTVORIŤ TRIGGER nový tovar
PRED AKTUALIZÁCIOU TOVARU ZA KAŽDÝ ROW
BEGIN
AKTUALIZUJTE položku
SET množstvo = množstvo + STARÉ
WHERE id_brg = OLD. Suma;
END;

To je diskusia o pochopení spúšťača,funguje spolu s príkladmi použitia spúšťačov pomocou MySQL. Autor dúfa, že vyššie uvedený článok vám pomôže porozumieť a správne uviesť príklady spúšťačov.

Komentáre 0