Detaillierte Erklärung zum Erstellen gespeicherter Prozeduren und Funktionen in MySQL

Detaillierte Erklärung zum Erstellen gespeicherter Prozeduren und Funktionen in MySQL

1. Gespeicherte Prozedur

1.1. Grundlegende Syntax

Prozedurnamen erstellen ([Parameter])

UNSIGNED [Eigenschaften] Routinentext

Parameter: in|out|inout gibt die Parameterliste an, die die Eingabe und Ausgabe darstellt

Routine_body: SQL-Codeinhalt, beginnend mit „begin“ und endend mit „end“.

Eigenschaften: Gibt die Eigenschaften der gespeicherten Prozedur an, einschließlich 5 Typen

1 DETERMINISTISCH
2 KEIN SQL Keine SQL-Anweisungen und natürlich keine Datenänderung
3 READS SQL DATA liest nur Daten und ändert die Daten natürlich nicht
4 ÄNDERT SQL-DATEN Zum Ändern von Daten
5 CONTAINS SQL enthält SQL-Anweisungen

1.2 Erstellen Sie eine gespeicherte Prozedur mit angegebenen Ausführungsberechtigungen

Erstellen Sie DEFINER=`root`@`%` Prozedurname ([Parameter])

UNSIGNED [Eigenschaften] Routinentext

DEFINER: Gibt an, wer die Ausführungsberechtigung hat.

1.3 Verwendung von DELIMITER

"DELIMITER //" bedeutet, das Symbol "//" als Endwort festzulegen, da das Standard-Anweisungsende in MySQL ein Semikolon ';' ist. Um Konflikte zwischen gespeicherten Prozeduren und MySQL-Anweisungssymbolen zu vermeiden, wird DELIMITER manchmal verwendet, um das Endwortsymbol zu ändern, und es sollte in Verbindung mit end //; verwendet werden.

Beispiel: Erstellen Sie eine gespeicherte Prozedur, die vom Root-Konto ausgeführt wird, um die Länge einer bestimmten Zeichenfolge auszugeben

TRENNUNGSZEICHEN //
ERSTELLEN definer=`root`@`%` VERFAHREN `avgFruitPrice`(
in f_string VARCHAR(200)
)
BEGINNEN
    Länge auswählen (f_string);
ENDE//

2. Erstellen Sie eine Funktion

Funktionen werden auf die gleiche Weise wie gespeicherte Prozeduren erstellt

Beispiel

TRENNUNGSZEICHEN //
ERSTELLEN definer=`root`@`%` FUNKTION `meine_länge`(
f_string VARCHAR(200)
)
Gibt INT(11) zurück.
UNSIGNED NO SQL
BEGINNEN
    Rückgabelänge (f_string);
ENDE//

Hinweis: Beim Erstellen einer Funktion sind drei Dinge zu beachten.

1. RÜCKGABE: Die Art der Rückgabe muss angegeben werden

2. UNSIGNED NO SQL erfordert die Angabe der gespeicherten Prozedurfunktion

3.return: Gibt die erforderlichen Daten zurück

Aufgetretene Fehler:

Wenn die obige Fehlermeldung angezeigt wird, bedeutet dies, dass die Merkmale der gespeicherten Prozedur nicht angegeben sind.

In einer gespeicherten Prozedurfunktion können Sie das MySQL-Abfrageergebnis als Parameter verwenden: Die Anweisung lautet „select .... into“

beginnen

Deklarieren Sie OneName char (50) als Standard „0“.

Deklarieren Sie zwei Namen char(50);

Wählen Sie f_name, b_name in onename, twoname aus t_user, wobei id = 1;

.......

Ende//

veranschaulichen:

Deklarieren: Variablen, die innerhalb gespeicherter Prozeduren und Funktionen definiert sind

Standard: Standardwert

Dies ist das Ende dieses Artikels zum Erstellen gespeicherter Prozeduren und Funktionen in MySQL. Weitere relevante gespeicherte MySQL-Prozeduren und -Funktionen finden Sie in früheren Artikeln auf 123WORDPRESS.COM oder in den folgenden verwandten Artikeln. Ich hoffe, dass jeder 123WORDPRESS.COM in Zukunft unterstützen wird!

Das könnte Sie auch interessieren:
  • Verstehen Sie MySQL-gespeicherte Prozeduren und Funktionen gründlich
  • Analyse des Unterschieds zwischen gespeicherten MySQL-Funktionen und gespeicherten Prozeduren
  • Einführung in häufig verwendete Funktionen in der MySQL-Datenbank
  • MySQL fügt Daten im Batch über gespeicherte Funktionsprozeduren ein
  • Detaillierte Einführung in die gespeicherten MySQL-Funktionen
  • Detaillierte Zusammenfassung häufig verwendeter MySQL-Funktionen
  • Umfassende Zusammenfassung der MySQL-Funktionen
  • So verwenden Sie MySQL-Funktionen

<<:  HTML-Meta erklärt

>>:  Einführung in die Fallstricke der hohen Parallelität und Leistungsoptimierung unter Linux

Artikel empfehlen

Zusammenfassung der Verwendung von MySQL-Datums- und Uhrzeitfunktionen

Dieser Artikel basiert auf MySQL 8.0 Dieser Artik...

Tiefgreifendes Verständnis der Vue-cli4-Routing-Konfiguration

Inhaltsverzeichnis Vorwort - Vue Routing 1. Die g...

Web-Kenntnisse: Lösung für die Koexistenz mehrerer IE-Versionen IETester

Meine Empfehlung Lösung für die Koexistenz mehrer...

CSS-Beispielcode zum Ausblenden der Bildlaufleiste und Scrollen des Inhalts

Vorwort Wenn die HTML-Struktur einer Seite viele ...

HarborRestart-Vorgang nach dem Ändern der Konfigurationsdatei

Ich werde nicht viel Unsinn erzählen, schauen wir...

Auf Wiedersehen Docker: So wechseln Sie in 5 Minuten zu Containerd

Docker ist eine sehr beliebte Containertechnologi...

jQuery realisiert den Gleiteffekt des Dropdown-Menüs

Wenn wir eine Webseite erstellen, möchten wir man...

Installieren Sie mysql5.7.17 mit RPM unter Linux

Die Installationsmethode von MySQL5.7 rpm unter L...

Front-End-Statusverwaltung (Teil 1)

Inhaltsverzeichnis 1. Was ist Front-End-Statusver...

Detaillierte Erklärung der Verwendung von Object.assign() in ES6

Inhaltsverzeichnis 2. Zweck 2.1 Objekten Eigensch...

Erste Schritte mit Nginx Reverse Proxy

Inhaltsverzeichnis Überblick Die Rolle des Revers...

Zusammenfassung der Methoden zur Änderung des Git-Commit-Protokolls

Fall 1: Letzte Übermittlung und kein Push Führen ...