Bonjour,

Je débute tout juste avec le SQL en mode batch.

Je voudrais faire un fichier .sql à exécuter en mode batch.

Voici le contenu du fichier :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
SET @old := (SELECT idmetier FROM metier ORDER BY idmetier LIMIT 0,1);
select @old;
SET @compteur := (SELECT count(*) FROM metier WHERE idmetier>@old);
select @compteur;
 
WHILE @compteur <> 0 Loop
	SET @old := (SELECT idmetier FROM metier WHERE idmetier > @old ORDER BY idmetier LIMIT 0,1);
	SET @compteur := (SELECT count(*) FROM metier WHERE idmetier > @old);
	select @compteur;
End loop ;
Voilà, je ne sais pas s'il faut faire des déclarations ou non avant ni rien, mais tout ce que je sais c'est que ça ne fonctionne pas, pourtant la syntaxe me semble bonne:
c'est une erreur de syntaxe 42000
"erreur de syntaxe près de 'WHILE @compteur <> 0 LOOP
SET @old := (SELECT idmetier FROM me' à la ligne 1"

Ensuite, 2e message d'erreur : "Erreur de syntaxe près de 'END LOOP' à la ligne 1"


Avez-vous une idée de ce à que ces erreurs sont dûes ?

Je n'y comprends rien moi

HELLLLP !