Tělo své události můžete zabalit do BEGIN ... END
složený blok příkazů:
CREATE EVENT rate ON SCHEDULE EVERY 24 HOUR STARTS '2011-12-01 20:00:00' DO BEGIN
SET @p=1;
UPDATE users SET rate = (@p:example@sqldat.com+1) ORDER BY power DESC;
END
Všimněte si, že každý příkaz musí být ukončen středníkem, takže musíte svého klienta nakonfigurovat tak, aby používal jiný oddělovač příkazů, aby si nemyslel, že první nalezený středník je koncem CREATE EVENT příkaz (jak to provést, bude záviset na vašem klientovi, ale v nástroji příkazového řádku MySQL
, můžete použít DELIMITER příkaz
a v phpMyAdmin můžete nastavit oddělovač pod vstupním polem SQL).
Alternativně můžete v tomto případě použít vícetabulkový UPDATE syntaxe k provedení inicializace proměnné tak, že budete potřebovat pouze jeden jednoduchý příkaz:
CREATE EVENT rate ON SCHEDULE EVERY 24 HOUR STARTS '2011-12-01 20:00:00' DO
UPDATE users, (SELECT @p:=0) init
SET users.rate = (@p:example@sqldat.com+1)
ORDER BY users.power DESC