Le programmateur d’événements ( Event Scheduler ) (part 5/6)

juin 24, 2009

(<- précédent)

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 ;



(à suivre… event scheduler: Limitations et restrictions)

2 Responses to “Le programmateur d’événements ( Event Scheduler ) (part 5/6)”

  1. 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

  2. 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

    ++