Dans MySQL, j'ai cette procédure stockée avec une boucle For:
DELIMITER $$
CREATE PROCEDURE ABC()
BEGIN
DECLARE a INT Default 0 ;
simple_loop: LOOP
SET a=a+1;
select a;
IF a=5 THEN
LEAVE simple_loop;
END IF;
END LOOP simple_loop;
END $$
Il imprime toujours 1
. Quelle est la syntaxe correcte pour une boucle MySQL for?
Réponses:
la source
BEGIN...END
et de créer une procédure si je ne veux l'utiliser queLOOP
?Exemple de syntaxe de boucle dans MySQL:
Quelles impressions:
Exemple de syntaxe de boucle REPEAT dans MySQL:
Quelles impressions:
Exemple de syntaxe de boucle FOR dans MySQL:
Quelles impressions:
Suivez le tutoriel: http://www.mysqltutorial.org/stored-procedures-loop.aspx
Si je vous surprends à mettre en production ce type de constructions MySQL for-loop, je vais vous tirer dessus avec le lanceur de missiles en mousse. Vous pouvez utiliser une clé à pipe pour cogner dans un clou, mais cela vous donne un air idiot.
la source
declare str VARCHAR(255) default '';
dans la console MySQL (5.6) me donne le message d'erreurError 1064 (42000): ... for the right syntax to use near '' at line 3
, qui est aussi clair que de la boue (bien que je suppose que cela n'aime pas la clause DEFAULT).delimiter //
avant d'exécuter ceci.Supposons que vous ayez une table avec le nom «table1». Il contient une colonne «col1» de type varchar. La requête vers la table de caisse est donnée ci-dessous
Maintenant, si vous souhaitez insérer un nombre de 1 à 50 dans cette table, utilisez la procédure stockée suivante
Pour appeler cette procédure stockée, utilisez
la source
Vous pouvez échanger cette variable locale contre une variable globale, ce serait plus simple.
la source