PhpMyAdmin - Gespeicherte Prozeduren

Inhaltsverzeichnis
Das Gespeicherte Prozeduren sind Codeblöcke SQL die in der Datenbank gespeichert sind und dazu dienen, eine Reihe von Aktionen auszuführen, die über die gespeicherten Abfragen hinausgehen, wie z Lesezeichen, um sie zu nennen, machen wir es mit der Anweisung FORDERUNG, wir können sogar Parameter an besagtes übergeben Gespeicherte Prozeduren.
Erstellen einer gespeicherten Prozedur
Um mit der Erstellung von a . fortzufahren Gespeicherte Prozedur (SP) wir müssen zunächst die Benutzerberechtigungen von . haben ROUTINE ERSTELLEN Ja ÄNDERUNGSROUTINE, für den Benutzer, den wir verwenden, um sie in der Datenbank zu erstellen, wird auch die Erlaubnis benötigt AUSFÜHREN, obwohl dieser automatisch dem Ersteller eines SP zugeordnet wird.
Um ein zu erstellen SP, das erste, was wir tun müssen, ist zum Abfragefeld zu gehen, normalerweise verwenden wir zum Beenden einer SQL-Anweisung das Semikolon (

Sobald dies erledigt ist, geben wir unseren Code in das Abfragefeld ein. Sehen wir uns ein Codebeispiel an:

 CREATE PROCEDURE `add_page` (IN param_isbn VARCHAR (25), IN param_pages INT, OUT param_message VARCHAR (100)) BEGIN IF param_pages> 100 THEN SET param_message = 'die Anzahl der Seiten ist zu groß'; ELSE UPDATE book SET page_count = page_count + param_pages WHERE isbn = param_isbn; SET param_message = 'Erfolg'; ENDE WENN; ENDE // 

Wie wir sehen, ist es nicht sehr schwer herauszufinden, was das bewirkt SP, die erste Zeile ist ganz einfach, wir definieren einfach die Ein- und Ausgabeparameter des SP, dann beginnen wir mit START In unserem Block platzieren wir eine IF ELSE-Bedingung, in der wir jeden der Eingabeparameter auswerten, so dass wir mit jeder Bedingung eine Aktion ausführen, dann die entsprechenden Blöcke unseres SP mit ENDIF und END schließen und am Ende // erhalten, was ist unser benutzerdefiniertes Trennzeichen.
Testen der gespeicherten Prozedur
Einmal definiert, testen wir unsere SP, dafür werden wir ein paar Elemente sehen, die wir nicht verwendet haben. Sehen wir uns zuerst den Code und dann die Erklärung an:
call add_page ('1-234567-22-0', 4, @message);
SELECT @Nachricht;
Mal sehen, wir verwenden die FORDERUNG um unseren SP aufzurufen, übergeben wir zwei Parameter, die die SP Ich habe gewartet und schließlich verwenden wir eine MySQL-Variable, um die Antwort zu erhalten. In der zweiten Zeile konsultieren wir einfach diese Variable, um ihren Wert zu erhalten; Wie wir sehen, ist es recht einfach, damit zu arbeiten.
Manipulation der gespeicherten Prozedur
Das SP Es wird in der Datenbank gespeichert, ist jedoch nicht an eine bestimmte Tabelle gebunden. Um auf sie zuzugreifen, gehen wir zuerst zur Datenbankansicht in phpMyAdmin. Auf der Strukturseite haben wir einen Abschnitt namens Routinen.

Wenn wir auf das Bearbeitungssymbol klicken, sehen wir, dass der SP-Code, der uns angezeigt wird, sich von unserem unterscheidet. Sehen wir uns an, was angezeigt wird:
 DROP PROCEDURE `add_page` // CREATE DEFINER =` marc` @ `%` PROCEDURE `add_page` (IN param_isbn VARCHAR (25), IN param_pages INT, OUT param_message VARCHAR (100)) BEGIN IF param_pages> 100 THEN SET param_message = die Seitenanzahl ist zu groß '; ELSE UPDATE book SET page_count = page_count + param_pages WHERE isbn = param_isbn; SET param_message = 'Erfolg'; ENDE WENN; 

Das SP Wir können sie nicht ändern, also ist die erste Anweisung beim Versuch, sie zu bearbeiten, der DROP des SP. Auf diese Weise entfernen wir sie, um sie neu zu erstellen. In den folgenden Zeilen wird auch eine Zeile generiert, in der der angegebene Benutzer angegeben ist . der Schöpfer des SP ist; sobald die Änderungen vorgenommen wurden, indem Sie auf klicken gehen Wir erstellen unser modifiziertes SP und es wird in der Datenbank gespeichert.
Damit beenden wir das Tutorial, da wir das sehen Gespeicherte Prozeduren Sie sind sehr nützlich, um Befehlsblöcke zu speichern, die wir jederzeit aufrufen können, was uns die Macht von Unterprogrammen innerhalb der Datenbank gibt.Hat dir dieses Tutorial gefallen und geholfen?Sie können den Autor belohnen, indem Sie diesen Knopf drücken, um ihm einen positiven Punkt zu geben
wave wave wave wave wave