Heim > Datenbank > MySQL-Tutorial > Hauptteil

Die gespeicherte MySQL-Prozedur kehrt zurück

王林
Freigeben: 2023-05-11 17:25:37
Original
1389 Leute haben es durchsucht

Die gespeicherte MySQL-Prozedur gibt zurück. Die gespeicherte MySQL-Prozedur ist ein in der MySQL-Datenbank ausführbares Programm. Sie kann Eingabeparameter empfangen, eine Reihe von Operationen ausführen und Ergebnisse zurückgeben. Im Gegensatz zu SQL-Anweisungen können gespeicherte Prozeduren vorkompiliert und in der MySQL-Datenbank gespeichert werden, wodurch die Effizienz der Programmausführung verbessert wird.

Gespeicherte Prozeduren werden normalerweise für die Verarbeitung komplexer Geschäftslogiken verwendet, wodurch die Datenübertragungs- und Verarbeitungszeit verkürzt und die Ausführungseffizienz verbessert werden kann. Gespeicherte Prozeduren bieten außerdem eine bessere Sicherheit und Wartbarkeit bei der Entwicklung von Anwendungen.

Gespeicherte MySQL-Prozeduren können viele Arten von Ergebnissen zurückgeben, darunter einfache Ganzzahlen, Zeichenfolgen, Datums- und Uhrzeitangaben sowie komplexe Ergebnismengen. In diesem Artikel wird erläutert, wie Sie eine gespeicherte MySQL-Prozedur erstellen und Ergebnisse zurückgeben.

Gespeicherte MySQL-Prozeduren erstellen

Gespeicherte MySQL-Prozeduren können auf folgende Weise erstellt werden:

CREATE PROCEDURE pro_name()
BEGIN    
    -- 存储过程的主体    
END;
Nach dem Login kopieren

wobei pro_name der Name der gespeicherten Prozedur ist und zwischen BEGIN und END der Hauptteil der gespeicherten Prozedur steht.

Hier ist ein Beispiel für eine einfache gespeicherte Prozedur, die die Summe zweier Ganzzahlen zurückgibt:

CREATE PROCEDURE add_numbers(IN a INT, IN b INT, OUT sum INT)
BEGIN
    SET sum = a + b;
END;
Nach dem Login kopieren

Diese gespeicherte Prozedur empfängt zwei ganzzahlige Parameter a und b, fügt sie hinzu und speichert sie in der Summenvariablen. Nachdem die gespeicherte Prozedur ausgeführt wurde, wird der Wert der Summenvariablen zurückgegeben.

Gespeicherte MySQL-Prozeduren ausführen

Gespeicherte MySQL-Prozeduren können auf folgende Weise ausgeführt werden:

CALL pro_name();
Nach dem Login kopieren

wobei pro_name der Name der auszuführenden gespeicherten Prozedur ist. Die gespeicherte Prozedur im obigen Beispiel kann wie folgt ausgeführt werden:

CALL add_numbers(1, 2, @sum);
SELECT @sum;
Nach dem Login kopieren

Der obige Code ruft die gespeicherte Prozedur add_numbers auf, übergibt 1 und 2 als Parameter an a und b und die Summenvariable als Ausgabeparameter . Als nächstes können Sie die SELECT-Anweisung verwenden, um den Wert der Summenvariablen abzurufen.

Gespeicherte MySQL-Prozeduren geben Ergebnismengen zurück

Zusätzlich zur Rückgabe einfacher Datentypen können gespeicherte MySQL-Prozeduren auch Ergebnismengen zurückgeben. Ein Ergebnissatz ist eine Sammlung von Daten, die mehrere Zeilen und Spalten enthalten kann. Die gespeicherte MySQL-Prozedur kann den Ergebnissatz auf folgende Weise zurückgeben:

CREATE PROCEDURE pro_name()
BEGIN    
    SELECT columns FROM table WHERE condition;    
END;
Nach dem Login kopieren

wobei columns der zurückzugebende Spaltenname, table der abzufragende Tabellenname und bedingung die abzurufende Bedingung ist.

Das Folgende ist ein Beispiel für eine gespeicherte Prozedur, die eine Ergebnismenge zurückgibt:

CREATE PROCEDURE get_users()
BEGIN
    SELECT * FROM users;
END;
Nach dem Login kopieren

Diese gespeicherte Prozedur gibt alle Zeilen und Spalten in der Benutzertabelle zurück. Diese gespeicherte Prozedur kann aufgerufen werden mit:

CALL get_users();
Nach dem Login kopieren

Dadurch werden alle Zeilen und Spalten in der Benutzertabelle zurückgegeben.

Die gespeicherte MySQL-Prozedur gibt mehrere Ergebnismengen zurück.

Die gespeicherte MySQL-Prozedur kann auch mehrere Ergebnismengen zurückgeben. Mehrere Ergebnismengen sind Sammlungen von Daten, die von einer oder mehreren SELECT-Anweisungen zurückgegeben werden.

Gespeicherte MySQL-Prozeduren können mit der folgenden Methode mehrere Ergebnismengen zurückgeben:

CREATE PROCEDURE pro_name()
BEGIN    
    SELECT columns FROM table WHERE condition;    
    SELECT columns FROM table WHERE condition;    
END;
Nach dem Login kopieren

wobei „columns“ der zurückzugebende Spaltenname, „table“ der abzufragende Tabellenname und „condition“ die abzurufende Bedingung ist.

Das Folgende ist ein Beispiel für eine gespeicherte Prozedur, die mehrere Ergebnismengen zurückgibt:

CREATE PROCEDURE get_data()
BEGIN
    SELECT * FROM users;
    SELECT * FROM orders;
END;
Nach dem Login kopieren

Diese gespeicherte Prozedur gibt alle Zeilen und Spalten in der Benutzertabelle und der Auftragstabelle zurück. Diese gespeicherte Prozedur kann wie folgt aufgerufen werden:

CALL get_data();
Nach dem Login kopieren

Dadurch werden die beiden Ergebnismengen zurückgegeben, die von den beiden SELECT-Anweisungen zurückgegeben wurden.

Gespeicherte MySQL-Prozeduren verwenden bedingte Anweisungen, um Ergebnisse zurückzugeben.

Gespeicherte MySQL-Prozeduren können bedingte Anweisungen verwenden, um Ergebnisse zurückzugeben. Bedingte Anweisungen können Anweisungen wie IF, CASE und LOOP verwenden.

Hier ist ein Beispiel für eine gespeicherte Prozedur, die eine IF-Anweisung verwendet, um Ergebnisse zurückzugeben:

CREATE PROCEDURE get_user_status(IN user_id INT, OUT status VARCHAR(255))
BEGIN
    DECLARE user_status INT;
    SELECT user_status INTO user_status FROM users WHERE id = user_id;
    
    IF user_status = 0 THEN
        SET status = 'Inactive';
    ELSEIF user_status = 1 THEN
        SET status = 'Active';
    ELSE
        SET status = 'Unknown';
    END IF;
END;
Nach dem Login kopieren

Diese gespeicherte Prozedur empfängt einen ganzzahligen Parameter user_id und gibt eine Zeichenfolge basierend auf dem Status des Benutzers zurück. Die gespeicherte Prozedur ruft zunächst den Benutzerstatus entsprechend user_id aus der Benutzertabelle ab und speichert ihn in der Variablen user_status. Verwenden Sie dann eine IF-Anweisung, um den Benutzerstatus zu überprüfen und den Wert der Statusvariablen festzulegen. Schließlich gibt die gespeicherte Prozedur die Statusvariable als Ausgabeparameter zurück.

Das Obige sind einige Beispiele für Ergebnisse, die von gespeicherten MySQL-Prozeduren zurückgegeben werden. Gespeicherte Prozeduren sind sehr leistungsstarke und nützliche Tools in der MySQL-Datenbank, die komplexe Geschäftslogik verarbeiten und die Ausführungseffizienz von Anwendungen verbessern können. Für die Verarbeitung von Daten sollten geeignete gespeicherte Prozeduren ausgewählt werden, die auf spezifischen Geschäftsanforderungen basieren.

Das obige ist der detaillierte Inhalt vonDie gespeicherte MySQL-Prozedur kehrt zurück. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

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
Über uns Haftungsausschluss Sitemap
Chinesische PHP-Website:Online-PHP-Schulung für das Gemeinwohl,Helfen Sie PHP-Lernenden, sich schnell weiterzuentwickeln!