Heim > Datenbank > MySQL-Tutorial > Kann MySQL Variablen deklarieren und While-Schleifen außerhalb gespeicherter Prozeduren verwenden?

Kann MySQL Variablen deklarieren und While-Schleifen außerhalb gespeicherter Prozeduren verwenden?

Linda Hamilton
Freigeben: 2024-10-24 10:52:29
Original
651 Leute haben es durchsucht

Can MySQL Declare Variables and Use While Loops Outside Stored Procedures?

Variablen deklarieren und While-Schleife außerhalb einer gespeicherten Prozedur in MySQL verwenden

In MySQL ist es nicht möglich, Variablen zu deklarieren und eine While-Schleife außerhalb einer gespeicherten Prozedur zu verwenden. Dies liegt daran, dass diese Konstrukte innerhalb der BEGIN...END-Klausel deklariert werden müssen, die nur in gespeicherten Prozeduren, Funktionen, Triggern und Ereignissen verfügbar ist.

Überwindung der Einschränkung

Wenn Sie Variablen deklarieren und eine While-Schleife außerhalb einer gespeicherten Prozedur verwenden müssen, können Sie eine temporär gespeicherte Prozedur erstellen, die diese Funktionalität kapselt. Hier ist eine Vorlage, der Sie folgen können:

<code class="sql">CREATE TEMPORARY PROCEDURE my_temp_proc()
BEGIN
  DECLARE var1 INT;
  DECLARE var2 VARCHAR(255);
  
  WHILE var1 < 10 DO
    SET var2 = CONCAT(var2, 'Iteration ', var1, '\n');
    SET var1 = var1 + 1;
  END WHILE;
END</code>
Nach dem Login kopieren

Verwendung

Um die temporär gespeicherte Prozedur auszuführen und auf die deklarierten Variablen zuzugreifen, können Sie die folgenden Schritte verwenden:

  1. Führen Sie die gespeicherte Prozedur aus:

    <code class="sql">CALL my_temp_proc();</code>
    Nach dem Login kopieren
  2. Fragen Sie die deklarierten Variablen mithilfe der Tabelle INFORMATION_SCHEMA.ROUTINE_VARIABLES ab:

    <code class="sql">SELECT ROUTINE_NAME, VARIABLE_NAME, VARIABLE_TYPE, VARIABLE_VALUE
    FROM INFORMATION_SCHEMA.ROUTINE_VARIABLES
    WHERE ROUTINE_NAME = 'my_temp_proc';</code>
    Nach dem Login kopieren

Dadurch werden die Werte der deklarierten Variablen ausgegeben.

Das obige ist der detaillierte Inhalt vonKann MySQL Variablen deklarieren und While-Schleifen außerhalb gespeicherter Prozeduren verwenden?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php
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
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage