Triggerek használata MySQL-ben
Beküldte Rimelek - 2011, május 31 - 01:07Triggerek 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:
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!