Heim > Datenbank > MySQL-Tutorial > Was bedeutet der Variablenbereich in gespeicherten MySQL-Prozeduren?

Was bedeutet der Variablenbereich in gespeicherten MySQL-Prozeduren?

王林
Freigeben: 2023-08-26 16:49:11
nach vorne
629 Leute haben es durchsucht

Was bedeutet der Variablenbereich in gespeicherten MySQL-Prozeduren?

Angenommen, wir deklarieren eine Variable im BEGIN/END-Block, dann liegt der Gültigkeitsbereich dieser Variablen in diesem bestimmten Block. Wir könnten auch eine Variable mit demselben Namen innerhalb eines anderen BEGIN/END-Blocks deklarieren, was vollkommen zulässig wäre, aber ihr Gültigkeitsbereich würde innerhalb seines BEGIN/END-Blocks liegen. Dies kann anhand des folgenden Beispiels verstanden werden, in dem wir eine Prozedur erstellen, um den Gültigkeitsbereich einer Variablen anzuzeigen –

Beispiel

mysql> Create Procedure Scope_variables()
    -> BEGIN
    -> DECLARE A Varchar(5) Default 'outer';
    -> BEGIN
    -> DECLARE A Varchar(5) Default 'inner';
    -> SELECT A;
    -> END;
    -> SELECT A;
    -> END;
    -> //
Query OK, 0 rows affected (0.08 sec)
Nach dem Login kopieren

In der obigen Prozedur haben wir zwei Variablen mit demselben Namen, nämlich A. Solange die interne Variable innerhalb des Gültigkeitsbereichs deklariert ist, hat sie hier Vorrang. Der Hauptpunkt besteht darin, dass die interne Variable verschwindet, wenn das erste END erreicht wird, und dass sie „außerhalb des Gültigkeitsbereichs“ liegt. Um dieses Konzept zu verstehen, nennen Sie diesen Prozess wie folgt:

mysql> CALL Scope_variables();
+-------+
| A     |
+-------+
| inner |
+-------+
1 row in set (0.00 sec)

+-------+
| A     |
+-------+
| outer |
+-------+
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 vonWas bedeutet der Variablenbereich in gespeicherten MySQL-Prozeduren?. 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