Frage:
Wie können Sie in MySQL ein Array von Zeichenfolgen effektiv übergeben? als Parameter für eine gespeicherte Routine? Das Array kann eine große Anzahl von Elementen unterschiedlicher Länge enthalten. Das Ziel besteht darin, diese Zeichenfolgen zur weiteren Datenbearbeitung in eine speicherinterne Tabelle einzufügen.
Beispiel:
Betrachten Sie das Array mit den Zeichenfolgewerten „Banana, Apple, Orange". Das gewünschte Ergebnis ist eine temporäre Tabelle mit einer Spalte „fruitName“, die mit diesen Werten gefüllt ist.
Mögliche Lösung:
Die bereitgestellte Beispielfunktion zeigt, wie dies erreicht wird Aufgabe in Microsoft SQL Server, sie ist jedoch möglicherweise nicht direkt auf MySQL anwendbar. Entdecken Sie alternative Ansätze für MySQL.
MySQL-Implementierung:
Sie können eine dynamische Abfrage mithilfe einer vorbereiteten Anweisung erstellen, um das Array als Zeichenfolge zu übergeben und die gewünschten Ergebnisse zu erhalten. Hier ist eine Illustration:
DELIMITER $$ CREATE PROCEDURE GetFruits(IN fruitArray VARCHAR(255)) BEGIN SET @sql = CONCAT('SELECT * FROM Fruits WHERE Name IN (', fruitArray, ')'); PREPARE stmt FROM @sql; EXECUTE stmt; DEALLOCATE PREPARE stmt; END $$ DELIMITER ;
Verwendung:
Um diese gespeicherte Prozedur zu verwenden, befolgen Sie diese Schritte:
SET @fruitArray = '\'apple\',\'banana\''; CALL GetFruits(@fruitArray);
Dieser Ansatz ermöglicht es Ihnen um ein Array von Zeichenfolgen effizient zu übergeben und die erforderliche In-Memory-Tabelle für die Datenbearbeitung in MySQL zu generieren.
Das obige ist der detaillierte Inhalt vonWie kann ich ein String-Array effizient an eine gespeicherte MySQL-Prozedur übergeben?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!