Heim >Datenbank >MySQL-Tutorial >Was ist eine gespeicherte MySQL-Prozedur?

Was ist eine gespeicherte MySQL-Prozedur?

清浅
清浅Original
2019-03-29 14:48:034561Durchsuche

Die gespeicherte Prozedur in MySQL bezieht sich auf eine Sammlung von SQL-Anweisungen, die in der Datenbank gespeichert sind. Wenn die gespeicherte Prozedur erstellt wird und die erforderlichen Parameter zur Laufzeit bereitgestellt werden, kann die gespeicherte Prozedur auf diese Weise verwendet werden Durch den Code angegebene Parameterausführung und Rückgabewert

bietet die Möglichkeit, gespeicherte Prozeduren in MySQL zu erstellen. Gespeicherte Prozeduren sind eine leistungsstarke Funktion in MySQL und anderen Datenbankverwaltungssystemen. Als nächstes werden wir in diesem Artikel die gespeicherten Prozeduren in MySQL im Detail vorstellen, die als Referenz dienen und ich hoffe, dass sie Ihnen hilfreich sein werden.

Was ist eine gespeicherte MySQL-Prozedur?

[Empfohlener Kurs: MySQL-Tutorial]

Gespeicherte Prozedur:

Eine gespeicherte Prozedur bezieht sich auf eine Sammlung von SQL-Anweisungen, die in einer Datenbank gespeichert sind. Gespeicherte Prozeduren können Geschäftslogik enthalten, die einer der Schlüssel zur Unterscheidung gespeicherter Prozeduren von Ansichten ist. Darüber hinaus können gespeicherte Prozeduren auch Parameter akzeptieren. Wir können in der gespeicherten Prozedur Variablen festlegen, Anweisungen schreiben usw.

So funktionieren gespeicherte Prozeduren

Erstellen Sie zunächst eine gespeicherte Prozedur und führen Sie sie dann aus. Sie müssen die erforderlichen Parameter angeben, wenn der Prozess ausgeführt wird, und dann wird die gespeicherte Prozedur mit den Parametern auf jede im Code angegebene Weise ausgeführt. Schreiben Sie beispielsweise eine gespeicherte Prozedur, die einen FruitId-Parameter akzeptiert. Die gespeicherte Prozedur kann dann diesen Parameter abrufen und ihn verwenden, um den Bestand dieser bestimmten Frucht zu überprüfen. Wir können also die gespeicherte Prozedur aufrufen, d. h. jedes Mal mit einer anderen Frucht-ID wird ein Wert zurückgegeben und angezeigt, wie viele Früchte sich in diesem Bestand befinden.

Eine gespeicherte Prozedur erstellen

Wir können eine gespeicherte Prozedur über die CREATE PROCEDURE-Anweisung erstellen

CREATE PROCEDURE demo_name(p_1 INT)
BEGIN
  ...code goes here...
END;

demo_name bezieht sich auf den Namen der gespeicherten Prozedur, Klammern sind erforderlich. Wenn sie keine Parameter enthält, können die Klammern leer sein.

Der Hauptteil der gespeicherten Prozedur befindet sich zwischen den Schlüsselwörtern BEGIN und END. Diese Schlüsselwörter werden zum Schreiben zusammengesetzter Anweisungen verwendet. Eine zusammengesetzte Anweisung kann mehrere Anweisungen enthalten, die bei Bedarf verschachtelt werden können.

Beispiel: Erstellen Sie eine gespeicherte Prozedur mit dem Namen FruitStock:

DELIMITER //

CREATE PROCEDURE FruitStock(thisFruit SMALLINT)
BEGIN
	SELECT 
		Fruit.FruitName, 
		Fruit.Inventory, 
		Units.UnitName
	FROM 
		Fruit INNER JOIN Units ON
		Fruit.UnitId = Units.UnitId
	WHERE 
		Fruit.FruitId = thisFruit;
END //

DELIMITER ;

Nachdem Sie eine gespeicherte Prozedur erstellt haben, wird diese gespeicherte Prozedur als nächstes aufgerufen

Aufrufen einer ID mit einem Parameter von 1

CALL FruitStock(1);

Eine gespeicherte Prozedur löschen

Sie können die DROP PROCEDURE-Anweisung verwenden, um eine gespeicherte Prozedur zu löschen.

DROP PROCEDURE FruitStock;

Ändern der gespeicherten Prozedur

In der gespeicherten Prozedur können Sie die gespeicherte Prozedur ALTER PROCEDURE durch die folgenden Anweisungen ändern.

Es ist zu beachten, dass Sie, wenn Sie den Hauptteil einer gespeicherten Prozedur oder einen ihrer Parameter ändern möchten, die Prozedur löschen und erneut erstellen müssen

Beispiel: Fügen Sie die Liste zu hinzu zurückgegeben werden von Fruit.FruitId

DROP PROCEDURE IF EXISTS FruitStock;
DELIMITER //
CREATE PROCEDURE FruitStock(thisFruit SMALLINT)
BEGIN
	SELECT 
		Fruit.FruitId, 
		Fruit.FruitName, 
		Fruit.Inventory, 
		Units.UnitName
	FROM 
		Fruit INNER JOIN Units ON
		Fruit.UnitId = Units.UnitId
	WHERE 
		Fruit.FruitId = thisFruit;
END //

DELIMITER ;

Zusammenfassung: Das Obige ist der gesamte Inhalt dieses Artikels, ich hoffe, dass er für alle hilfreich ist.

Das obige ist der detaillierte Inhalt vonWas ist eine gespeicherte MySQL-Prozedur?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
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