Detaillierte Erläuterung der Definition und Verwendung von in MySQL gespeicherten Funktionen (benutzerdefinierten Funktionen)

Detaillierte Erläuterung der Definition und Verwendung von in MySQL gespeicherten Funktionen (benutzerdefinierten Funktionen)

Gespeicherte Funktionen

Was ist eine gespeicherte Funktion: Sie kapselt einen Teil des SQL-Codes, führt eine bestimmte Funktion aus und gibt das Ergebnis zurück.

Die Syntax einer gespeicherten Funktion lautet:

Funktion erstellen function([Funktionsparameter[,….]]) Gibt den Rückgabetyp zurück Begin

    Wenn(

      Rückgabe (zurückgegebene Daten)

    Anders 

      Rückgabe (zurückgegebene Daten)

    Ende wenn;

  Ende;

Beispiel: create function count_news(hits int) returns int

Im Gegensatz zu den Rückgabeparametern gespeicherter Prozeduren deklarieren gespeicherte Funktionen bei ihrer Definition nicht direkt, welche Variable der Rückgabeparameter ist. Stattdessen verwenden sie nur Returns, um den Datentyp des Rückgabeparameters zu deklarieren. Der Rückgabeparameter wird im Funktionskörper dargestellt, indem Return verwendet wird, um die zurückzugebende Datenvariable zurückzugeben. Bitte beachten Sie:
Gespeicherte Funktionen unterstützen nur Eingabeparameter und vor den Eingabeparametern steht kein IN oder INOUT.

Einschränkungen bei gespeicherten Funktionen

Flusssteuerungsanweisungen (IF, CASE, WHILE, LOOP, WHILE, REPEAT, LEAVE, ITERATE) sind ebenfalls zulässig.

Variablendeklarationen (DECLARE) und Zuweisungen (SET) sind zulässig.

Lässt bedingte Anweisungen zu.

Anweisungen zur Ausnahmebehandlung sind ebenfalls zulässig.

Beachten Sie jedoch, dass Funktionen Einschränkungen unterliegen: Sie können in einer Funktion nicht auf Tabellen zugreifen. Daher ist es nicht zulässig, die folgende Anweisung in einer Funktion zu verwenden.

ALTER 'CACHE INDEX' CALL COMMIT CREATE DELETE
DROP 'FLUSH PRIVILEGES' GRANT INSERT KILL
SPERREN OPTIMIEREN REPARIEREN ERSETZEN WIDERRUF
ROLLBACK SAVEPOINT 'AUSWAHL AUS Tabelle'
„SETZEN Sie die Systemvariable“ „SETZEN SIE DIE TRANSAKTION“
SHOW 'START TRANSACTION' TRUNCATE UPDATE

Der Unterschied zwischen gespeicherten Funktionen und gespeicherten Prozeduren

1. Eine gespeicherte Funktion hat genau einen Rückgabewert, während eine gespeicherte Prozedur keinen Rückgabewert haben kann.

2. Funktionen können nur Eingabeparameter und keine „in“ haben, während gespeicherte Prozeduren mehrere „in“, „out“ und „inout“-Parameter haben können.

3. Die Anweisungen in gespeicherten Prozeduren sind leistungsfähiger. Gespeicherte Prozeduren können eine sehr komplexe Geschäftslogik implementieren, während Funktionen viele Einschränkungen aufweisen. Beispielsweise können Sie in Funktionen keine Anweisungen wie Einfügen, Aktualisieren, Löschen, Erstellen usw. verwenden. Gespeicherte Funktionen führen nur Abfragearbeiten aus, können Eingabeparameter akzeptieren und ein Ergebnis zurückgeben, d. h. die von Funktionen implementierten Funktionen sind zielgerichteter.

4. Gespeicherte Prozeduren können gespeicherte Funktionen aufrufen. Funktionen können jedoch keine gespeicherten Prozeduren aufrufen.

5. Gespeicherte Prozeduren werden grundsätzlich als eigenständiger Teil (Aufruf) ausgeführt. Funktionen können als Teil einer Abfrageanweisung aufgerufen werden.

Beispiel 1:

Ausweis

Name

Frage

Telefon

1

Qin Yun

10102800

13500000

2

Unterwegs

10378

13600000

3

LÖWE

10000

13900000

Ausweis

Name

Computerzeit

Administrator

1

Qin Yun

2004-1-1

Li Dawei

2

Qin Yun

2005-1-1

Ma Huateng

3

Unterwegs

2005-1-1

Ma Huateng

4

Qin Yun

2005-1-1

Li Dawei

5

Unterwegs

2005-1-1

Li Dawei

Leistungszweck:

Holen Sie sich die Liste des gesamten Personals aus Tabelle 1 sowie die Häufigkeit der Computerverwendung und den Administrator aus Tabelle 2.

Liste der Benutzer Anzahl der Benutzer Administrator Qin Yun 3 Li Dawei, Ma Huateng, Li Dawei unterwegs 2 Ma Huateng, Li Dawei
Löwe 0

Das könnte Sie auch interessieren:
  • Beispiel für die benutzerdefinierte MySQL-Funktion CREATE FUNCTION
  • Ausführliche Erläuterung zum Erstellen benutzerdefinierter Funktionen und gespeicherter Prozeduren in MySQL
  • MySQL-Konvertierung chinesischer Zeichen in Pinyin, benutzerdefinierte Funktion und Anwendungsbeispiele (erster Buchstabe des ersten Wortes)
  • Eine kurze Diskussion über benutzerdefinierte MySQL-Funktionen
  • So verwenden Sie benutzerdefinierte Funktionen zum Extrahieren von Zahlen aus Zeichenfolgen in MySQL
  • Probleme beim Erstellen benutzerdefinierter Funktionen in MySQL
  • Einfache Anwendungsbeispiele für benutzerdefinierte MySQL-Funktionen
  • MySQL-Benutzerdefinierte Funktion zum Bestimmen, ob es sich um einen positiven Ganzzahl-Beispielcode handelt
  • Detaillierte Erläuterung der benutzerdefinierten MySQL-Funktionen und gespeicherten Prozeduren
  • MySQL verwendet benutzerdefinierte Funktionen, um die übergeordnete ID oder untergeordnete ID rekursiv abzufragen
  • Analyse des Prinzips und der Verwendung von MySQL-Benutzerdefinierten Funktionen

<<:  Anwendung und Implementierung des Datencache-Mechanismus für kleine Programme

>>:  So konfigurieren Sie NAS unter Windows Server 2019

Artikel empfehlen

MySQL-Einfügungsproblem bei JSON

MySQL 5.7.8 und höher unterstützt nun einen nativ...

Hilfedokument „MySQL-Lernhinweise“

Systemhilfe anzeigen help contents mysql> Hilf...

Lösung für Ubuntu, das keine Verbindung zum Internet herstellen kann

Problembeschreibung: Ich habe einen Desktop-Compu...

WeChat-Applet zum Abrufen eines Schrittdatensatzes für Mobiltelefonnummern

Vorwort Kürzlich bin ich bei der Entwicklung eine...

Was Sie über Filter in Vue wissen müssen

Inhaltsverzeichnis Vorwort Was ist ein Filter So ...

Zabbix-Überwachungslösung – die neueste offizielle Version 4.4 [empfohlen]

Zabbix 12.10.2019 Chenxin siehe https://www.zabbi...

Vue implementiert kleine Suchfunktion

In diesem Artikelbeispiel wird der spezifische Co...

Beschreibung der HTML-Meta-Viewport-Attribute

Was ist ein Ansichtsfenster? Mobile Browser platz...

Detaillierte Erklärung zur Verwendung der Linux-Umleitung

Ich glaube, dass jeder manchmal Daten kopieren un...

Detaillierte Erklärung zu sinnvollen Einstellungen des MySQL sql_mode

Sinnvolle Einstellung des MySQL sql_mode sql_mode...

Lösen Sie das Installationsproblem von Linux Tensorflow2.0

conda aktualisieren conda pip installieren tf-nig...

Was tun, wenn Sie Ihr MySQL-Passwort vergessen?

Zweimal Ihr MySQL-Passwort vergessen? Zuerst habe...