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

Detaillierter Installationsprozess von Jenkins unter Linux

Inhaltsverzeichnis 1. Installieren Sie JDK 2. Jen...

Mehrere Möglichkeiten zum Ändern des MySQL-Passworts

Vorwort: Bei der täglichen Verwendung der Datenba...

Die Rolle und Öffnung des MySQL-Protokolls für langsame Abfragen

Vorwort Das MySQL Slow Query Log ist ein Protokol...

Über das Problem beim Schreiben von Plugins zum Mounten von DOM in vue3

Im Vergleich zu vue2 verfügt vue3 über ein zusätz...

Grafisches Tutorial zur Installation und Konfiguration von mysql5.7.20 (Mac)

Grafisches Tutorial zur Installation und Konfigur...

Detaillierte Erklärung wichtiger Kaskadierungskonzepte in CSS

Kürzlich stieß ich im Verlauf des Projekts auf ei...

Lösung für das Problem, dass HTML2-Canvas-SVG nicht erkannt wird

Es gibt eine neue Funktion, die das Erfassen eine...

Verwenden Sie reines JS, um den sekundären Menüeffekt zu erzielen

In diesem Artikelbeispiel wird der spezifische JS...

So implementieren Sie E-Mail-Benachrichtigungen in Zabbix

Umgesetzt gemäß Online-Tutorial. zabbix3.4, mithi...

Warum MySQL große Transaktionen vermeiden sollte und wie man sie löst

Was ist eine große Sache? Transaktionen, die über...