Bonjour à tous, j'ai une erreur de syntaxe lors de la création d'une procédure stockée que je ne comprend pas vraiment. Pouvez-vous m'éclairer.

Ma procédure :
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 curdemo()
BEGIN
  DECLARE done INT DEFAULT 0;
  DECLARE a, d VARCHAR(30);
  DECLARE cur1 CURSOR FOR SELECT action_id, das_id FROM action;
  DECLARE CONTINUE HANDLER FOR SQLSTATE '02000' SET done = 1;
 
  OPEN cur1;
 
  REPEAT
    FETCH cur1 INTO a, d;
    IF NOT done THEN
       IF d='das1' THEN
          UPDATE action SET das_id='das0' WHERE action_id=a;
       END IF;
    END IF;
  UNTIL done END REPEAT;
 
  CLOSE cur1;
END
L'erreur obtenue au moment de l'exécution :
Error

SQL query:

CREATE PROCEDURE curdemo( ) BEGIN DECLARE done INT DEFAULT 0;

MySQL said: Documentation
#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 'INT DEFAULT 0' at line 3
Lorsque je me contente de créer la procédure sans rien comme ci-dessous, elle se créée sans problèmes.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
CREATE PROCEDURE curdemo()
BEGIN
END
Ma syntaxe a été copier l'aide pour les curseurs de la documentation MySql pour versions 5.0. J'avoue être un peu perdue.
Version Mysql 5.0.45
Merci d'avance pour votre aide