Bei der Verwendung von MySQL-Datenbanken hat das Konzept der gespeicherten Prozedur (Stored Procedure) allmählich an Bedeutung gewonnen. Eine gespeicherte Prozedur ist ein vorkompilierter SQL-Code, der es Benutzern ermöglicht, bestimmte Funktionen anzupassen und die Leistung und Sicherheit der Datenbank zu optimieren. Gespeicherte Prozeduren können Parameter empfangen und Werte zurückgeben, und die Heap-Operationsdatenbank bietet viel Komfort. In diesem Artikel wird hauptsächlich die Ausgabe gespeicherter MySQL-Prozeduren erläutert.
Ausgabe gespeicherter Prozeduren
Ausgabe ist eine sehr wichtige Funktion gespeicherter Prozeduren. Durch die Ausgabe der gespeicherten Prozedur können die Ausführungsergebnisse der gespeicherten Prozedur in der Benutzeroberfläche widergespiegelt werden, die die gespeicherte Prozedur aufruft. Andernfalls ist die tatsächliche Auswirkung der gespeicherten Prozedur nicht erkennbar. In den gespeicherten Prozeduren von MySQL gibt es viele Arten von Ausgabeinhalten, einschließlich Zeichenfolgen, Zahlen, Datumsangaben usw. Es gibt mehrere Möglichkeiten, die gespeicherte Prozedur auszugeben, die im Folgenden separat vorgestellt werden.
Verwenden Sie die SELECT-Anweisung zur Ausgabe
In einer gespeicherten Prozedur besteht die einfachste Möglichkeit zur Ausgabe darin, die Ergebnismenge über die SELECT-Anweisung auszugeben. In einer gespeicherten Prozedur können Sie die SELECT-Anweisung verwenden, um die Ergebnismenge abzurufen. Bevor die Funktion zurückkehrt, weisen Sie die Ergebnismenge dem Ausgabeparameter der gespeicherten Prozedur zu und rufen das Ergebnis ab, wenn die gespeicherte Prozedur aufgerufen wird. Für die Verwendung der SELECT-Anweisung zur Ausgabe der Ergebnismenge in der gespeicherten Prozedur lautet das Beispiel wie folgt:
DELIMITER //
CREATE PROCEDURE proc_out(IN param1 INT, OUT out_param VARCHAR(20))
BEGIN
DECLARE result VARCHAR(100); --执行查询 SELECT result INTO out_param FROM tbl_name WHERE id = param1;
END //
DELIMITER ;
In dieser gespeicherten Prozedur wird die SELECT-Anweisung verwendet, um die Daten abzufragen, die einer ID in der Tabelle tbl_name entsprechen, die Abfrageergebnisse werden in der Ergebnisvariablen gespeichert und schließlich wird das Ergebnis der Ausgabe zugewiesen Parameter out_param. Durch diese gespeicherte Prozedur kann der Wert von out_param in der Programmschnittstelle abgerufen werden.
Verwenden Sie die SET-Anweisung zur Ausgabe
Zusätzlich zur SELECT-Anweisung können Sie auch die SET-Anweisung verwenden, um die Ergebnisse in Variablen zu speichern und die Variablen als Ausgabeparameter festzulegen. Dies ist eine einfachere Möglichkeit. Die Implementierungsmethode ist wie folgt:
DELIMITER //
CREATE PROCEDURE proc_out_2(IN param1 INT, OUT out_param VARCHAR(20))
BEGIN
DECLARE var VARCHAR(100); --设置变量 SET var = (SELECT name FROM tbl_name WHERE id = param1); --将变量赋值给输出参数 SET out_param = var;
END //
DELIMITER ;
In dieser gespeicherten Prozedur verwenden Sie zuerst SET Anweisung zum Abfragen Die erhaltenen Daten werden in der Variablen var gespeichert und dann var dem Ausgabeparameter out_param zugewiesen. Zum Schluss rufen Sie einfach den Wert von out_param in der Programmschnittstelle ab.
Verwenden Sie die CURSOR-Cursor-Ausgabe
In der gespeicherten Prozedur von MySQL können Sie den CURSOR-Cursor auch zum Speichern von Daten verwenden und die Ausgabeergebnisse der gespeicherten Prozedur über CALL abrufen. Die spezifische Methode ist wie folgt:
DELIMITER //
CREATE PROCEDURE proc_out_3(IN param1 INT, OUT out_param VARCHAR(20))
BEGIN
DECLARE done INT DEFAULT FALSE; DECLARE var VARCHAR(100); DECLARE cur1 CURSOR FOR SELECT name FROM tbl_name WHERE id = param1; DECLARE CONTINUE HANDLER FOR NOT FOUND SET done = TRUE; --打开游标 OPEN cur1; get_result: LOOP --获取游标中的数据 FETCH cur1 INTO var; --结束标志 IF done THEN LEAVE get_result; END IF; END LOOP get_result; --关闭游标 CLOSE cur1; --将游标中的数据赋值给输出参数 SET out_param = var;
END //
DELIMITER ;
In dieser gespeicherten Prozedur wird der Cursor verwendet Um die Ergebnismenge zu durchlaufen und herauszufinden, werden die Ergebnisse der Reihe nach in der Variablen var gespeichert und schließlich wird der Wert von var dem Ausgabeparameter out_param zugewiesen. Abschließend wird die gespeicherte Prozedur in der Programmschnittstelle aufgerufen, um out_param abzurufen.
Zusammenfassung
Mithilfe der oben genannten drei Ausgabemethoden können Sie die Ausgabe und Anwendung gespeicherter MySQL-Prozeduren besser beherrschen. Bei der tatsächlichen Verwendung können je nach Bedarf unterschiedliche Ausgabemethoden ausgewählt werden, um die Ausgabefunktion der gespeicherten Prozedur zu realisieren. Die Beherrschung der Ausgabemethode gespeicherter Prozeduren ist für die Verbesserung der Leistung und Sicherheit der MySQL-Datenbank von großer Bedeutung.
Das obige ist der detaillierte Inhalt vonEntdecken Sie die Ausgabe gespeicherter MySQL-Prozeduren. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!