Heim > Datenbank > MySQL-Tutorial > Hauptteil

Wie verwende ich FOR LOOP in einer gespeicherten MySQL-Prozedur?

PHPz
Freigeben: 2023-08-29 10:17:09
nach vorne
1024 Leute haben es durchsucht

如何在MySQL存储过程中使用FOR LOOP?

Das Folgende ist die Syntax für die Verwendung von FOR LOOP in einer gespeicherten MySQL-Prozedur -

delimiter //
CREATE procedure yourProcedureName()
wholeblock:BEGIN
   DECLARE anyVariableName1 INT ;
   Declare anyVariableName3 int;
   DECLARE anyVariableName2 VARCHAR(255);
   SET anyVariableName1 =1 ;
   SET anyVariableName3 =10;
   SET anyVariableName2 = '';
loop_label: FORLOOP
   IF anyVariableName1 > anyVariableName3 THEN
      LEAVE loop_label;
   END IF;
   SET anyVariableName2 = CONCAT(anyVariableName2 ,anyVariableName1 ,',');
   SET anyVariableName1 = anyVariableName1 + 1;
   ITERATE loop_label;
   END FORLOOP;
SELECT anyVariableName2;
END
//
Nach dem Login kopieren

Jetzt können Sie die obige Syntax implementieren. Die for-Schleifenabfrage lautet wie folgt:

mysql> delimiter //
mysql> CREATE procedure ForLoop()
   -> wholeblock:BEGIN
   -> DECLARE start INT ;
   -> Declare maxLimit int;
   -> DECLARE result VARCHAR(255);
   -> SET start =1 ;
   -> SET maxLimit=10;
   -> SET result = '';
   -> loop_label: LOOP
   -> IF start > 10 THEN
   -> LEAVE loop_label;
   -> END IF;
   -> SET result = CONCAT(result,start,',');
   -> SET start = start + 1;
   -> ITERATE loop_label;   
   -> END LOOP;
   -> SELECT result;
   -> END
   -> //
Query OK, 0 rows affected (0.37 sec)
mysql> delimiter ;
Nach dem Login kopieren

Die obige for-Schleife gibt 1 bis 10 aus, also in der folgenden Form 1,2,3,4,...10. Anruf gespeichert Vorgehensweise zur Verwendung des CALL-Befehls. Die Syntax lautet wie folgt:

call yourStoredProcedureName();
Nach dem Login kopieren

Die aufgerufene Abfrage lautet wie folgt:

mysql> call ForLoop();
Nach dem Login kopieren

Ausgabe

+-----------------------+
| result                |
+-----------------------+
| 1,2,3,4,5,6,7,8,9,10, |
+-----------------------+
1 row in set (0.00 sec)
Query OK, 0 rows affected (0.01 sec)
Nach dem Login kopieren

Das obige ist der detaillierte Inhalt vonWie verwende ich FOR LOOP in einer gespeicherten MySQL-Prozedur?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:tutorialspoint.com
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage