trigger

Triggerek használata MySQL-ben

Triggerek a MySQL 5.0 óta léteznek. Egy trigger bizonyos táblaműveletek hatására kiváltódó események kezelésére szolgál, amiben tárolt eljáráshoz hasonló szintaktikával további műveletek végezhetők. Bár még nem olyan kifinomult a MySQL trigger, mint például Oracle-ben, de be fogom mutatni, hogy így is hasznos szolgálatot tehet, amennyiben van jogosultságunk a használatára.

Triggerek létrehozása:

Egy utasítás esetén:
create trigger triggerneve  mikorfusson milyenmuveletre for each row sqlutasitas;
Több utasítás esetén:

delimiter $$
create trigger triggerneve  mikorfusson milyenmuveletre
for each row begin
      /*További sql utasítások*/
end$$
delimiter ;

mikorfusson: Lehet before vagy after.
Azaz egy művelet előtt is lefuthat, vagy csak az után.

milyenmuveletre: Lehet insert, update vagy delete

A „create” előtti sorra azért van szükség, mert a trigger törzsében levő sql utasítások utáni pontosvessző lezárná a triggert is. Meg kell tehát változtatni a delimitert, azaz az utasításokat határoló karaktert. A trigger lezárása után pedig vissza lehet azt állítani. Most pedig jöjjön egy életszerű példa a triggerek használatára!

Megosztás/Mentés