Anda dapat membungkus isi acara Anda dalam BEGIN ... END
blok pernyataan majemuk:
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
Perhatikan bahwa setiap pernyataan harus diakhiri dengan titik koma, jadi Anda harus mengonfigurasi klien Anda untuk menggunakan pembatas pernyataan yang berbeda agar tidak menganggap titik koma yang pertama kali ditemui adalah akhir dari CREATE EVENT perintah (cara melakukannya akan tergantung pada klien Anda, tetapi di alat baris perintah MySQL
, Anda dapat menggunakan DELIMITER perintah
dan di phpMyAdmin Anda dapat mengatur pembatas di bawah kotak input SQL).
Atau, dalam hal ini Anda dapat menggunakan UPDATE multi-tabel sintaks untuk melakukan inisialisasi variabel sehingga Anda hanya memerlukan satu pernyataan sederhana:
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