1000 FAQ, 500 Anleitungen und Lernvideos. Hier gibt es nur Lösungen!
MySQL-Funktion auf Cloud-Server erstellen
In diesem Leitfaden wird die Verwendung von DELIMITER
MySQL-Funktionen auf Cloud-Server Infomaniak.
Präambel
- Beim Erstellen von Funktionen oder Verfahren, die in MySQL gespeichert sind, ist es wichtig, die Rolle der Trenner zu verstehen.
- Die korrekte Verwendung von Trennern ist wichtig, um Syntaxfehler zu vermeiden, die aufgrund von mehreren SQL-Anweisungen in einer Funktions- oder Prozedur-Definition auftreten können.
Den Trenner verstehen
Ein Trennzeichen ist ein Zeichen oder eine Zeichenfolge, die verwendet wird, um SQL-Anweisungen in einem Skript zu trennen. Standardmäßig verwendet MySQL das Semikolon (;
) als Trennzeichen. Beim Erstellen von Funktionen, gespeicherten Verfahren oder Auslösern, die mehrere SQL-Anweisungen enthalten, ist es jedoch notwendig, den Trenner vorübergehend zu ändern, um Syntaxfehler zu vermeiden.
Wenn Sie eine Funktion, Prozedur oder Auslöser erstellen, müssen Sie oft mehrere SQL-Anweisungen innerhalb des Blocks verwenden. BEGIN...END
Das Semikolon (;
) wird auch verwendet, um diese internen Anweisungen zu beenden, MySQL könnte das erste Semikolon als das Ende der Funktionsdefinition interpretieren, was zu Syntaxfehler führen würde. Um dieses Problem zu umgehen, müssen Sie den Trenner während der Funktionsdefinition ändern.
Einfache Funktion mit benutzerdefinierten Trennern erstellen
Bevor Sie die Funktion festlegen, müssen Sie MySQL mitteilen, dass Sie einen anderen Trenner verwenden werden. Im folgenden Beispiel: $$
wird als neuer Trenner verwendet:
DELIMITER $$
Mit dem neuen Trenner können Sie nun Ihre Funktion einstellen. Das CREATE FUNCTION
enthält den Funktionskörper, wo Sie interne SQL-Anweisungen verwenden können, die durch Semikolone getrennt sind, ohne dass dies ein Problem darstellt:
CREATE FUNCTION hello_world()
RETURNS TEXT
LANGUAGE SQL
BEGIN
RETURN 'Hello World';
END;
$$
In diesem Beispiel:
CREATE FUNCTION hello_world()
: erklärt den Beginn der Definition der Funktionhello_world
.RETURNS TEXT
: Gibt den Datentyp an, den die Funktion zurückgibt.LANGUAGE SQL
: zeigt an, dass die für die Funktion verwendete Sprache SQL ist.BEGIN ... END
: Verkapselt den Code der Funktion. Im Inneren wird das Semikolon verwendet, um die SQL-Anweisungen zu trennen.RETURN 'Hello World';
: SQL-Anweisung, die die Zeichenkette zurückgibtHello World
.
Nachdem Sie die Funktion eingestellt haben, geben Sie den Trenner auf den Standardzustand zurück (Semikolon). Dadurch können Sie die üblichen SQL-Anweisungen in Ihren folgenden Skripten weiter ausführen:
DELIMITER ;