MySQL MariaDB

Gespeicherte Prozeduren in MySQL erstellen

Gespeicherte Prozeduren in MySQL erstellen
Stored Procedures sind eine benutzerdefinierte Liste vorkompilierter SQL-Anweisungen, die in einer MySQL-Datenbank gespeichert und bei Bedarf ausgeführt werden, um einen bestimmten Datenbankprozess auszuführen. Dies impliziert, dass es wahrscheinlich ist, das Skript noch einmal zu verwenden. Eine Prozedur hat einen Titel, einen Satz von Parametern und eine Anweisung von SQL(s), sodass die gespeicherte Prozedur basierend auf dem/den Wert(en) des übergebenen Parameters arbeiten kann. Die gespeicherten Prozeduren sollten mit der CALL-Phrase ausgeführt werden. Lassen Sie uns in diesem Handbuch nach und nach den Prozess der Generierung neuer gespeicherter Prozeduren innerhalb der MySQL-Klausel CREATE PROCEDURE untersuchen. Also lasst uns anfangen.

Gespeicherte Prozedur über Workbench erstellen:

Öffnen Sie die neu installierte MySQL Workbench 8.0 und verbinden Sie es mit der Root-Localhost-Datenbank.

In der Workbench befindet sich eine Navigatorleiste. Unterhalb dieser Navigatorleiste gibt es eine Reihe verschiedener Funktionen von MySQL. Es enthält eine Liste von Datenbanken, Tabellen, gespeicherten Prozeduren und vielem mehr, wie Sie dem Bild entnehmen können.

Wenn Sie die Option 'Tabellen' erkunden, finden Sie eine Liste der Tabellen in einer Rasteransicht. Wie unten gezeigt, haben wir eine Tabelle 'sozial'.

Klicken Sie mit der rechten Maustaste auf die Option 'Gespeicherte Prozedur' und klicken Sie auf die Option 'Gespeicherte Prozedur erstellen', wie in der Abbildung gezeigt.

Ein neues Fenster wird geöffnet, wie auf dem Foto unten zu sehen. Sie können den Namen der gespeicherten Prozedur im Abfragebereich ändern, indem Sie den Wert in Anführungszeichen entfernen.

Jetzt können Sie diese Abfrage nach Ihren Wünschen bearbeiten. Wir benennen die gespeicherte Prozedur als 'detail', während wir die Daten aus einer Tabelle 'sozial' abrufen, deren Wert in der Spalte 'Website' äquivalent zu 'Instagram' ist.' Das bedeutet, dass die Store-Prozedur bei der Ausführung nur die Datensätze aus dieser Tabelle anzeigt, deren 'Website' 'Instagram' ist.' Klicken Sie auf die Schaltfläche Übernehmen.

Sie erhalten einen Vorschaubildschirm, in dem Sie Ihre Abfrage bei Bedarf ändern oder modifizieren können. Sie können eine vollständige Syntax der neu erstellten Stored Procedure über die Workbench einsehen. Klicken Sie auf die Schaltfläche Übernehmen, um es auszuführen.

Wenn die Abfrage keine Fehler enthält, funktioniert sie wie unten gezeigt korrekt work. Tippen Sie auf die Schaltfläche Fertig stellen.

Wenn Sie sich die Option für gespeicherte Prozeduren ansehen und sie aktualisieren, wird eine neu erstellte Prozedur angezeigt.

Wenn Sie dieses Verfahren ausführen, werden Ihnen die einzigen Datensätze mit einem Spaltenwert von 'Website' angezeigt, die wie unten beschrieben 'Instagram' sind.

Gespeicherte Prozedur über die Befehlszeilen-Shell erstellen:

Öffnen Sie die Befehlszeilen-Client-Shell von MySQL 8.0 und geben Sie darunter das Passwort von MySQL ein.

Angenommen, wir haben eine Tabelle namens 'record' im Datenbankschema 'data'. Lassen Sie uns die Aufzeichnungen davon mit dem SELECT-Befehl wie folgt überprüfen:

>> AUSWÄHLEN * AUS Daten.Aufzeichnung;

Verwenden Sie den Befehl 'use data', um die Datenbank zu verwenden, in der Sie die gespeicherte Prozedur hinzufügen möchten.

>> Daten verwenden;

Beispiel 01: Gespeicherte Prozedur ohne Parameter

Um eine Prozedur ohne Parameter zu erstellen, müssen Sie sie mit einem CREATE PROCEDURE-Befehl erstellen, dem das Schlüsselwort 'DELIMITER' vorangestellt ist. Dann erstellen wir eine Prozedur namens 'Filter' ohne Parameter. Es holt alle Datensätze aus der Tabelle 'record', in der die Spalte 'Country' 'ia' am Ende ihrer Werte hat. Der Vorgang sollte mit dem Schlüsselwort 'END' beendet werden.

Wir werden die CALL-Klausel verwenden, um die gespeicherte Prozedur in der Befehlszeile auszuführen. Beim Ausführen des CALL-Befehls haben wir die folgenden Ergebnisse. Sie sehen, dass die Abfrage nur die Datensätze abrufen muss, bei denen die Spalte 'Land' am Ende ihrer Werte 'ia' enthält.

Beispiel 02: Gespeicherte Prozedur mit Einzelparameter

Es ist höchste Zeit, eine Prozedur mit einem einzigen Parameter zu generieren. Verwenden Sie dazu die Abfrage CREATE PROCEDURE mit dem Schlüsselwort 'DELIMITER .' Wir müssen also eine Prozedur 'Rec' erstellen, die einen Wert als Eingabeargument annimmt, in diesem Beispiel ist die Variable 'Var1' von einem Benutzer in ihren Parametern. Beginnen Sie den Vorgang mit dem Schlüsselwort 'BEGIN'. Die SELECT-Anweisung wird verwendet, um alle Datensätze aus der Tabelle 'record' zu holen, in der die Spalte 'Name' den gleichen Wert wie in 'Var1' hat. Dies ist ein Abgleich von Datensätzen. Beenden Sie die gespeicherte Prozedur mit dem Schlüsselwort 'END' gefolgt von '&&'-Zeichen.

'

Führen Sie zuerst die DELIMITER-Abfrage aus, damit die gespeicherte Prozedur bereit ist. Führen Sie danach die CALL-Abfrage aus, gefolgt vom Prozedurnamen und seinem Eingabeargumentwert in den geschweiften Klammern. Sie müssen nur den unten gezeigten Befehl ausführen und Sie erhalten die Ergebnisse outcome. Da wir in unseren Parametern 'Zafar' angegeben haben, haben wir nach dem Vergleich dieses Ergebnis erhalten.

Beispiel 03: Gespeicherte Prozedur mit mehreren Parametern

Sehen wir uns an, wie die Prozedur funktioniert, wenn sie mit mehreren Parametern versehen wurde. Vergessen Sie nicht, das Schlüsselwort 'DELIMITER' zusammen mit '&&'-Zeichen zu verwenden. Verwenden Sie den Befehl CREATE PROCEDURE, um eine Prozedur 'Neu' zu erstellen. Dieses Verfahren verwendet zwei Argumente in seinen Parametern e.G. 'var1' und 'var2'. Beginnen Sie das Verfahren mit der BEGIN-Klausel. Jetzt ist es was neues. Die SELECT-Klausel holt wieder alle Datensätze aus der Tabelle 'record'. Das erste von einem Benutzer übergebene Argument wird mit den Werten der Spalte 'Name' abgeglichen. Andererseits wird das zweite von einem Benutzer übergebene Argument mit den Werten der Spalte 'Land' abgeglichen. Wenn die Datensätze übereinstimmen, werden alle Daten aus aufeinanderfolgenden Zeilen abgerufen. Der Vorgang würde mit dem Schlüsselwort 'END' abgeschlossen.

Verwenden Sie das Schlüsselwort DELIMITER, um das Verfahren zu aktivieren. Führen Sie danach die CALL-Klausel gefolgt vom Namen der gespeicherten Prozedur aus, der 'Neu' ist, zusammen mit den Parameterwerten. Aus der Abbildung unten wird deutlich, dass die Abfrage nur den Datensatz der Tabelle 'Datensatz' abruft, bei dem beide vom Benutzer eingegebenen Werte übereinstimmen.

Fazit:

In diesem Handbuch haben Sie die verschiedenen Möglichkeiten zum Erstellen einer gespeicherten Prozedur in MySQL Workbench und MySQL-Befehlszeilen-Client-Shell kennengelernt.G., Gespeicherte Prozedur mit und ohne Parameter.

AppyMouse On-Screen Trackpad und Mauszeiger für Windows Tablets
Tablet-Benutzer vermissen oft den Mauszeiger, insbesondere wenn sie die Laptops gewohnt sind. Die Touchscreen-Smartphones und -Tablets bieten viele Vo...
Mittlere Maustaste funktioniert nicht unter Windows 10
Das mittlere Maustaste hilft Ihnen beim Scrollen durch lange Webseiten und Bildschirme mit vielen Daten. Wenn das aufhört, werden Sie am Ende die Tast...
So ändern Sie die linke und rechte Maustaste auf einem Windows 10-PC
Es ist ganz normal, dass alle Computer-Maus-Geräte ergonomisch für Rechtshänder gestaltet sind. Es gibt aber auch Mausgeräte, die speziell für Linkshä...