Le programmateur d’événements ( Event Scheduler ) (part 5/6)
Appel d’une procédure stockée
Il est possible d’appeler des procédures stockées dans un événement.
mysql> CREATE EVENT `_event`.`appel_ps` ON SCHEDULE AT CURRENT_TIMESTAMP DO /*Appel de la procédure stockée*/ CALL pro_stock.insert_profil(‘Olivier’, ‘DASINI’, ‘Orange’);
Archivage périodique des données
Beaucoup d’entreprises sont obligées de conserver d’énormes volumes de données historiques sur leurs serveurs de bases de données. Un moyen de réduire l’espace occupé est d’utiliser le moteur de stockage ARCHIVE. Ce moteur de table, compresse automatiquement les données qui n’occupent alors plus que 30% de leur taille originale.
mysql> CREATE TABLE _event.archive_event ( moment timestamp, fois tinyint unsigned, action char(50) ) ENGINE = ARCHIVE; mysql> DELIMITER €€ mysql> CREATE EVENT _event.archive_base ON SCHEDULE EVERY 1 DAY DO BEGIN /*Insertion des données à archiver*/ INSERT INTO _event.archive_event SELECT moment, fois, action FROM _event.insert_event WHERE moment < SUBDATE(now(), INTERVAL 1 DAY); /*Suppressions des données archivées dans la table originale*/ DELETE FROM _event.insert_event WHERE moment < SUBDATE(now(), INTERVAL 1 DAY); END €€ mysql> DELIMITER ;
Architecte Solution Cloud chez Oracle
MySQL Geek, Architecte, DBA, Consultant, Formateur, Auteur, Blogueur et Conférencier.
—–
Blog: www.dasini.net/blog/en/
Twitter: https://twitter.com/freshdaz
SlideShare: www.slideshare.net/freshdaz
Youtube: https://www.youtube.com/channel/UC12TulyJsJZHoCmby3Nm3WQ
—–
Bonjour,
je m’intéresse aux évènements en ce moment et je souhaiterais savoir si c’est possible qu’à partir d’une procédure de créer un évènement ? pour par exemple paramétrer l’évènement avec un update …
Merci beaucoup
nkoss
Bonjour,
An event may not be created, altered, or dropped by a stored routine, trigger, or another event. An event also may not create, alter, or drop stored routines or triggers. (Bug#16409, Bug#18896)
http://dev.mysql.com/doc/refman/5.1/en/stored-program-restrictions.html
++