Benutzerdefinierte Funktionen sind eine Möglichkeit, MySQL zu erweitern, und ihre Verwendung ist die gleiche wie die der integrierten Funktionen.
Zwei notwendige Bedingungen zum Definieren einer Funktion: Parameter und Rückgabewert. Funktionen können Werte beliebigen Typs zurückgeben und auch Parameter dieser Typen empfangen.
Über den Funktionskörper:
Der Funktionskörper besteht aus zulässigen SQL-Anweisungen.
Der Funktionskörper kann eine einfache SELECT- oder INSERT-Anweisung sein.
Wenn der Funktionskörper eine konforme Struktur ist, verwenden Sie die BEGIN....AND-Anweisung, um ihn zu umschließen.
Verbundstrukturen können Deklarationen, Schleifen, Kontrollstrukturen usw. enthalten.
Wichtig: Benutzerdefinierte Funktionen dürfen nicht denselben Namen haben, genau wie beim Definieren einer globalen Variablen können die Variablennamen nicht konsistent sein.
Grammatikformat:
create function 函数名(参数列表) returns type(返回值类型) begin --SQL语句 end;
Anforderungen: Definieren Sie eine gespeicherte Prozedurfunktion, um die Gesamtzahl der Datensätze zu erhalten, die die Bedingungen erfüllen Rufen Sie an gespeicherte Funktion
Syntaxformat:
delimiter $ create function fun(countryId int) returns int begin # 定义一个存储总数据条数的变量 declare cum int default 0; # 查询等于传递参数的全部的数据数,然后将其赋值给定义的变量 select count(*) into cum from city where country_id = countryId; # 返回结果值。存储函数必须有返回值 return cum; end $ delimiter ;
, den im Trigger definierten SQL-Satz auslösen und ausführen. Diese Funktion von Triggern kann Anwendungen dabei helfen, Datenintegrität, Protokollierung und Datenüberprüfung auf der Datenbankseite sicherzustellen.
Trigger können nur beim Hinzufügen, Löschen oder Ändern verwendet werden, nicht jedoch beim Abfragen.
OLD und NEW werden auch Zeilendatensatzvariablen genannt.
Sie können diese beiden Variablen verwenden, um die Daten in der zu bedienenden Datentabelle abzurufen.2.2 Trigger erstellen
select 函数名(参数列表);
Analyse:
Ein Trigger kann nur eine Art von Datenoperation ausführen und die Vorgänge des Hinzufügens, Änderns und Löschens nicht gleichzeitig abschließen. Daher müssen zu diesem Zeitpunkt mehrere Trigger definiert werden, um diese Protokollierungsaufgabe abzuschließen.Da MySQL ein Auslöser für Operationen auf Zeilenebene ist, speichern neue und alte eine ganze Datenzeile.
Erstellen Sie einen Trigger zum Ausführen des Einfügens:Verwenden Sie im Einfügemodus das Schlüsselwort new, um die einzufügenden Daten abzurufen.
Verwenden Sie after, nachdem Sie die Tabelle After emp ausgeführt haben hinzugefügt wird, wird dieser Trigger ausgeführt, um das Protokoll aufzuzeichnen.
Die Ausführung dieses Triggers hängt mit zwei Punkten zusammen:
Die Tabelle, die bedient werden muss, ist die emp-Tabelle, die nach on deklariert wird.Der Einfügevorgang, der ausgeführt werden muss.
Erstellen Sie einen Trigger zum Ausführen der Aktualisierung:
Zu diesem Zeitpunkt speichert die alte Variable die Daten vor der Änderung und die neue Variable speichert die Daten nach der Änderung.
Test: Der Test muss die emp-Tabelle der Operation sein, damit der oben definierte Trigger ausgelöst wird.
2.3 Trigger löschen
Syntaxstruktur:select fun(1);
# 这里和存储过程一样,调用的时候需要加小括号和参数,但是在删除的时候指定函数名即可
Sie können den Status, die Syntax und andere Informationen von Triggern anzeigen, indem Sie den Befehl „show triggers“ ausführen.
Grammatikstruktur:
drop [if exists] function fun;
Das obige ist der detaillierte Inhalt vonSo passen Sie Funktionen und Trigger in MySQL an. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!