erreur syntaxe procedure stockée
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:
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 :
Citation:
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:
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