Dieser Artikel beschreibt anhand von Beispielen, wie Sie in MySQL gespeicherte Prozeduren erstellen (CREATE PROCEDURE) und aufrufen (CALL) und wie Sie Variablen erstellen (DECLARE) und zuweisen (SET). Teilen Sie uns die Einzelheiten zu Ihrer Information mit: Erstellen (CREATE PROCEDURE) und Aufrufen (CALL) gespeicherter Prozeduren Wir werden hier nicht über Definitionen oder Begriffe sprechen. Schauen Sie sich einfach die Beispiele an und machen Sie sich langsam damit vertraut. Erstellen wir nun eine einfache gespeicherte Prozedur namens GetAllProducts(). Diese gespeicherte Prozedur GetAllProducts() wird hauptsächlich verwendet, um alle Produkte aus der Produkttabelle auszuwählen. Starten wir das MySQL-Clienttool und geben den folgenden Befehl ein: TRENNUNGSZEICHEN // PROZEDUR ERSTELLEN GetAllProducts() BEGINNEN WÄHLEN SIE * AUS Produkten; ENDE // TRENNUNGSZEICHEN ; Schauen wir uns das obige SQL genauer an:
Mit dem obigen SQL haben wir eine gespeicherte Prozedur erstellt. Wenn wir fertig sind, rufen wir die gespeicherte Prozedur auf. Werfen wir einen Blick auf die Aufrufsyntax: Rufen Sie STORED_PROCEDURE_NAME() auf; Sehen wir uns das spezifische SQL an, das die gespeicherte Prozedur GetAllProducts() aufruft: Rufen Sie GetAllProducts() auf; Führen Sie das obige SQL aus und Sie sehen die Ergebnisse der SQL-Ausführung in der gespeicherten Prozedur. Variablenerstellung (DECLARE) und -zuweisung (SET) Wie wir alle wissen, ist eine Variable ein benanntes Datenobjekt, dessen Wert während der Ausführung einer gespeicherten Prozedur geändert werden kann. Als Nächstes versuchen wir, Variablen in der gespeicherten Prozedur zu verwenden, um die direkten/indirekten Ergebnisse zu speichern. Diese Variablen sind lokale Variablen der gespeicherten Prozedur, aber wir müssen beachten, dass die Variable deklariert werden muss, bevor sie verwendet werden kann. Wenn wir eine Variable in einer gespeicherten Prozedur deklarieren möchten, können wir die Anweisung DECLARE verwenden. Werfen wir einen Blick auf die SQL-Syntax: DECLARE Variablenname Datentyp (Größe) DEFAULT Standardwert; Schauen wir uns an, was das obige SQL bedeutet:
Als Nächstes deklarieren wir eine Variable namens total_sale mit dem Datentyp INT und dem Standardwert 0. Schauen wir uns das SQL an: DECLARE total_sale INT DEFAULT 0; MySQL erlaubt die Verwendung einer einzigen DECLARE-Anweisung, um zwei oder mehr Variablen zu deklarieren, die denselben Datentyp haben. Werfen wir einen Blick auf das SQL: DECLARE x, y INT DEFAULT 0; Im obigen SQL haben wir zwei Ganzzahlvariablen x und y deklariert und ihre Standardwerte auf 0 gesetzt. Nachdem die Variable nun festgelegt wurde, ist es an der Zeit, ihr einen Wert zuzuweisen. Wenn wir einer Variablen einen Wert zuweisen möchten, können wir die SET-Anweisung verwenden. Schauen wir uns ein Beispiel an: DECLARE total_count INT DEFAULT 0; SETZEN Sie Gesamtanzahl = 10; In der obigen SQL-Anweisung weisen wir der Variable total_count den Wert 10 zu. Neben der SET-Anweisung können Sie auch die SELECT INTO-Anweisung verwenden, um das Ergebnis einer Abfrage einer Variablen zuzuweisen. Schauen wir uns ein Beispiel an: DECLARE total_products INT DEFAULT 0 Wählen Sie COUNT(*) INTO Gesamtprodukte FROM Produkte Im obigen SQL sollten wir Folgendes verstehen:
Wir wissen, dass eine Variable einen eigenen Gültigkeitsbereich hat, der zur Definition ihres Lebenszyklus verwendet wird. Wenn Sie jedoch eine Variable innerhalb einer gespeicherten Prozedur deklarieren, verlässt sie den Gültigkeitsbereich, wenn die END-Anweisung der gespeicherten Prozedur erreicht wird, und kann daher in anderen Codeblöcken nicht mehr aufgerufen werden. Wir können verstehen, dass wenn wir eine Variable innerhalb eines BEGIN END-Blocks deklarieren, diese den Gültigkeitsbereich verlässt, wenn END erreicht wird. Wir können auch zwei oder mehr Variablen mit demselben Namen in unterschiedlichen Gültigkeitsbereichen deklarieren, da eine Variable nur innerhalb ihres eigenen Gültigkeitsbereichs gültig ist. Das Deklarieren von Variablen mit demselben Namen in unterschiedlichen Gültigkeitsbereichen ist jedoch keine gute Programmierpraxis. Darunter sind Variablen, die mit dem @-Symbol beginnen, Sitzungsvariablen, die bis zum Ende der Sitzung verfügbar und zugänglich sind. Leser, die an weiteren MySQL-bezogenen Inhalten interessiert sind, können sich die folgenden Themen auf dieser Site ansehen: „Kenntnisse zu gespeicherten MySQL-Prozeduren“, „Zusammenfassung der allgemeinen MySQL-Funktionen“, „Kenntnisse zu MySQL-Protokollvorgängen“, „Zusammenfassung der Kenntnisse zu MySQL-Transaktionsvorgängen“ und „Zusammenfassung der Kenntnisse zu MySQL-Datenbanksperren“. Ich hoffe, dass dieser Artikel für jedermann beim Entwurf einer MySQL-Datenbank hilfreich ist. Das könnte Sie auch interessieren:
|
<<: Docker legt Port 2375 frei, was zu Serverangriffen und -lösungen führt
>>: js implementiert das Hinzufügen und Entfernen von Warenkörben sowie die Preisberechnung
Absolute, relative und fixe Positionierung absolu...
Grundlegende Verwendung <!DOCTYPE html> <...
Inhaltsverzeichnis Vorne geschrieben Anforderungs...
Die erste Zeile eines Docker-Images beginnt mit e...
Dynamisches Implementieren eines einfachen sekund...
Speicher-Engine Was ist eine Datenbank-Speicher-E...
Dieser Artikel zeigt einen Spezialeffekt für dyna...
Was ist eine große Sache? Transaktionen, die über...
In diesem Artikel wird der spezifische Code von J...
Heute wollte ich den MySQL-Port ändern, habe jedo...
Ich habe vor Kurzem eine visuelle Operationsplatt...
In diesem Artikel wird der spezifische Code für d...
Es besteht die Anforderung, den Schütteleffekt de...
Das Uniapp-Applet wird ein ähnliches Dropdown-Pro...
In diesem Artikel wird der spezifische JavaScript...