Heim > Datenbank > MySQL-Tutorial > Wie wird die MySQL LOOP-Anweisung in gespeicherten Prozeduren verwendet?

Wie wird die MySQL LOOP-Anweisung in gespeicherten Prozeduren verwendet?

WBOY
Freigeben: 2023-08-26 19:13:10
nach vorne
1297 Leute haben es durchsucht

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

MySQL stellt uns eine LOOP-Anweisung zur Verfügung, die Codeblöcke wiederholt ausführen kann und die Flexibilität bei der Verwendung von Schleifenbezeichnungen erhöht. Wir haben die folgenden zwei Anweisungen, die es uns ermöglichen, die Schleife zu steuern –

LEAVE-Anweisung

Sie ermöglicht es uns, die Schleife sofort zu verlassen, ohne auf eine Prüfung zu warten

ITEM STATEMENT

Sie ermöglicht es uns, den gesamten Code darunter zu überspringen und eine neue Iteration starten.

Demonstriert die Verwendung der LOOP-Anweisung mit einer gespeicherten Prozedur. Das Folgende ist eine gespeicherte Prozedur, die eine Zeichenfolge mit geraden Zahlen wie 2, 4, 6, 8 usw. erstellt. -

mysql> Delimiter //
mysql> CREATE PROCEDURE LOOP_loop()
    -> BEGIN
    -> DECLARE A INT;
    -> DECLARE XYZ VARCHAR(255);
    -> SET A = 1;
    -> SET XYZ = '';
    -> loop_label: LOOP
    -> IF A > 10 THEN
    -> LEAVE loop_label;
    -> END IF;
    -> SET A = A + 1;
    -> IF (A mod 2) THEN
    -> ITERATE loop_label;
    -> ELSE
    -> SET XYZ = CONCAT(XYZ,A,',');
    -> END IF;
    -> END LOOP;
    -> SELECT XYZ;
    -> END //
Query OK, 0 rows affected (0.07 sec)
Nach dem Login kopieren

Wenn wir nun diese Prozedur aufrufen, können wir das folgende Ergebnis sehen: -

mysql> DELIMITER ;
mysql> CALL LOOP_loop ();
+-------------+
| XYZ         |
+-------------+
| 2,4,6,8,10, |
+-------------+
1 row in set (0.04 sec)
Query OK, 0 rows affected (0.04 sec)
Nach dem Login kopieren

Wenn in der obigen Abfrage der Wert von A größer als 10 ist, wird die Schleife aufgrund der LEAVE-Anweisung beendet. Wenn der Wert von A ungerade ist, ignoriert die ITERATE-Anweisung alles darunter und startet eine neue Iteration. Wenn der Wert von A eine gerade Zahl ist, erstellt der Block in der ELSE-Anweisung die Zeichenfolge anhand der geraden Zahl.

Das obige ist der detaillierte Inhalt vonWie wird die MySQL LOOP-Anweisung in gespeicherten Prozeduren verwendet?. 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