Heim > Datenbank > MySQL-Tutorial > Hauptteil

[MySql-Tutorial] Einfache Anleitung zum Verständnis gespeicherter Prozeduren und deren Verwendung

帅杰杰
Freigeben: 2020-05-01 14:44:59
Original
201 Leute haben es durchsucht

Was ist eine gespeicherte Prozedur?

Eine gespeicherte Prozedur ist ein Datenbankobjekt, das komplexe Programme in der Datenbank speichert, sodass sie von externen Programmen aufgerufen werden können.

Eine gespeicherte Prozedur ist eine Reihe von SQL-Anweisungen zur Ausführung bestimmter Funktionen. Sie wird kompiliert, erstellt und in der Datenbank gespeichert. Benutzer können sie aufrufen, indem sie den Namen der gespeicherten Prozedur angeben und (bei Bedarf) Parameter angeben. .

Das Konzept gespeicherter Prozeduren ist sehr einfach, es handelt sich um die Kapselung und Wiederverwendung von Code auf der SQL-Sprachebene der Datenbank.

Vorteile gespeicherter Prozeduren:

  • Gespeicherte Prozeduren können gekapselt werden und komplexe Geschäftslogik verbergen.

  • Gespeicherte Prozeduren können Werte zurückgeben und Parameter akzeptieren.

  • Eine gespeicherte Prozedur kann nicht mit der Select-Anweisung ausgeführt werden, da es sich im Gegensatz zu einer Ansichtstabelle, Datentabelle oder benutzerdefinierten Funktion um eine Unterroutine handelt.

  • Gespeicherte Prozeduren können zur Datenüberprüfung, zur Durchsetzung der Geschäftslogik usw. verwendet werden.

Nachteile gespeicherter Prozeduren:

  • Gespeicherte Prozeduren werden häufig für bestimmte Zwecke angepasst Datenbank, da die unterstützten Programmiersprachen unterschiedlich sind. Beim Umstieg auf ein Datenbanksystem eines anderen Herstellers müssen die ursprünglichen Stored Procedures neu geschrieben werden.

  • Die Leistungsoptimierung und das Schreiben gespeicherter Prozeduren werden durch verschiedene Datenbanksysteme eingeschränkt.

Erstellung und Aufruf von gespeicherten Prozeduren

  • Eine gespeicherte Prozedur ist ein Codestück mit einem Namen, der verwendet wird um eine bestimmte Funktion auszuführen.

  • Erstellen Sie eine gespeicherte Prozedur und speichern Sie sie im Datenwörterbuch der Datenbank.

create procedure 存储过程名称(in|out|inout 参数名称 参数类型,……)
begin
过程体;
end
Nach dem Login kopieren

Gespeicherte Prozedur erstellen

create procedure getStudentCount()
begin
select count(*) as num from student where classid=8;
end
Nach dem Login kopieren

Gespeicherte Prozedur abfragen, ändern und löschen

1 , Abfrage

Status aller gespeicherten Prozeduren abfragen

show procedure status;
Nach dem Login kopieren

Status aller gespeicherten Prozeduren in der entsprechenden Datenbank anzeigen

show procedure status where db="数据库名";
Nach dem Login kopieren

Status aller gespeicherten Prozeduren anzeigen, deren Namen enthält Student

show procedure status where name like "%Student%";
Nach dem Login kopieren

Detaillierten Code der gespeicherten Prozedur

show create procedure 过程名;
Nach dem Login kopieren

2. Ändern

alter procedure 过程名([过程参数[,…]])过程体;
Nach dem Login kopieren

3. Löschen

drop procedure 过程名;
Nach dem Login kopieren

Hinweis: Kann nicht in einem Speicher gespeichert werden. Wenn Sie während des Vorgangs eine andere gespeicherte Prozedur löschen, können Sie nur eine andere gespeicherte Prozedur aufrufen.

Eine gespeicherte Prozedur aufrufen

Die gespeicherte MySQL-Prozedur verwendet den Aufruf und den Prozedurnamen sowie eine Klammer in den Klammern. Die Parameter umfassen Eingabeparameter und Ausgabeparameter werden aufgerufen.

call 存储过程名([过程参数[,...]])
Nach dem Login kopieren

Das obige ist der detaillierte Inhalt von[MySql-Tutorial] Einfache Anleitung zum Verständnis gespeicherter Prozeduren und deren Verwendung. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
1
Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage