Crearea declanșatoare în MySQL

Crearea declanșatoare în MySQL

Declanșează - sunt proceduri stocate. se efectuează la apariția anumitor evenimente. Un eveniment este menit să trimită o cerere. De exemplu, când adăugați intrări la masa poate fi cauzată de declanșare și un cod specific este executat.

Pentru a verifica modul în care funcționează declanșează, să creați un tabel cu tine 2. Primul tabel - această țară (țări):

  • ID - identificator unic.
  • title - titlul țării.

Tabel cu orașe (orașe):

  • ID - identificator unic.
  • title - titlul orașului.
  • country_id - ID-ul țării, care face parte din oraș.

Acum, să-l facă astfel încât, dacă eliminați dintr-o dată o înregistrare din tabel cu țările, toate orașele care aparțin acestei țări, eliminate din tabelul cu orașe.

Acest declanșator este creat în MySQL urmează:

DELIMITER //
CREATE TRIGGER `ȘTERGE delete_cities` ÎNAINTE DE countries` ON`
Pentru fiecare rând BEGIN
DELETE FROM `cities` WHERE` country_id` = OLD.`id`;
END

După ce creați pe trăgaci în timp ce scoate țara vor fi șterse automat din celălalt tabel toate orașele care aparțin acestei țări. Acum, Să examinăm mai sintaxa de creare de declanșare:

  • DELIMITER - separator, care trebuie să specifice, în caz contrar „“ va genera o eroare.
  • `Delete_cities` - este doar numele pe trăgaci.
  • ÎNAINTE DE delete - această comandă înseamnă că declanșatorul va declanșa imediat înainte de eliminarea înregistrărilor. În schimb înainte de a putea fi după. în loc să DELETE un alt eveniment, de exemplu, INSERT sau UPDATE.
  • `Countries` - numele tabelului pe care este setat pe trăgaci.
  • Pentru fiecare rând - începutul comenzii executate atunci când are loc declanșatorul.
  • Begin si end - comanda de executie singur bloc.
  • OLD.`id` - un apel la câmpul `id` pentru a șterge înregistrările dintr-o țările table``.

Trebuie să spun că am arătat aici este un exemplu simplu. În realitate, codul după pentru fiecare rând, nu poate fi de 2 linii, și foarte, foarte mare. Există, de asemenea, poate scrie bucle, condiții, diferite comparații și multe altele.

Acesta este modul de a crea un declanșator în MySQL.

articole similare