Bonjour,

Je souhaite créer un programmateur d'évènement qui exécute une procédure sur une table toutes ls 20 minutes

La table en question est :
tblconnexion
dont 3 champs sont utilisés :
- date_lastconnexion DATETIME
- date_intermediaire DATETIME
- enligne int

Voici le code mysql qui produit une erreur !
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
 
CREATE PROCEDURE SetInitialisation()
BEGIN
	DECLARE d1 DATETIME;
	DECLARE d2 DATETIME;
	SELECT date_lastconnexion, date_intermediaire INTO d1,d2
	FROM tblconnexion 
	WHERE enligne=1;
	IF (d2 - CURRENT_TIMESTAMP >1200)
		UPDATE tblconnexion SET enligne=0, date_lastconnexion = NOW()
	ELSE
		UPDATE tblconnexion SET date_intermediaire = NOW()
	END IF;
END;
 
 
CREATE EVENT IF NOT EXISTS EventInitialisation() 
ON SCHEDULE EVERY 20 MINUTE 
ENABLE 
DO CALL SetInitialisation();
L'erreur signalé est :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
requête SQL: 
 
CREATE PROCEDURE SetInitialisation( ) BEGIN DECLARE d1 DATETIME 
MySQL a répondu: 
 
#1064 - You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '' at line 3
Je ne vois pas l'origine de l'erreur . Pouvez-vous m'aider, svp?

Merci