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

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

WBOY
WBOYnach vorne
2023-08-26 19:13:101252Durchsuche

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)

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)

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!

Stellungnahme:
Dieser Artikel ist reproduziert unter:tutorialspoint.com. Bei Verstößen wenden Sie sich bitte an admin@php.cn löschen