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

Das WeChat-Applet ermöglicht horizontales und vertikales Scrollen

In diesem Artikelbeispiel wird der spezifische Co...

HTTP-Rückgabecodeliste (Erklärung auf Chinesisch und Englisch)

Liste der HTTP-Rückgabecodes (unten finden Sie ei...

Der Unterschied zwischen HTML-Iframe und Frameset_PowerNode Java Academy

Einführung 1. <iframe>-Tag: Ein Iframe ist ...

So stellen Sie den Node.js-Dienst mithilfe von Dockerfile bereit

Dockerfile initialisieren Angenommen, unser Proje...

Zusammenfassung einiger meiner häufig verwendeten Linux-Befehle

Ich habe zwei Jahre lang im Betrieb und in der Wa...

Detaillierte Erklärung zur Installation von MariaDB 10.2.4 auf CentOS7

CentOS 6 und frühere Versionen stellen MySQL-Serv...

Details zur Verwendung von „order by“ in MySQL

Inhaltsverzeichnis 1. Einleitung 2. Haupttext 2.1...

Implementierung der CSS-Variableneinfügung im Vue3-Stil

Inhaltsverzeichnis Zusammenfassung Einfaches Beis...

Detaillierte Erklärung verschiedener HTTP-Rückgabestatuscodes

Wenn an Ihren Server eine Anforderung zum Anzeige...