Maison > base de données > tutoriel mysql > Comment puis-je transmettre efficacement un tableau de chaînes à une procédure stockée MySQL ?

Comment puis-je transmettre efficacement un tableau de chaînes à une procédure stockée MySQL ?

Patricia Arquette
Libérer: 2024-12-11 19:13:12
original
357 Les gens l'ont consulté

How Can I Efficiently Pass a String Array to a MySQL Stored Procedure?

Passer un tableau à la routine stockée MySQL

Question :

Dans MySQL, comment pouvez-vous transmettre efficacement un tableau de chaînes comme paramètre d'une routine stockée ? Le tableau peut contenir un grand nombre d’éléments de longueurs variables. L'objectif est d'insérer ces chaînes dans une table en mémoire pour une manipulation ultérieure des données.

Exemple :

Considérons le tableau contenant les valeurs de chaîne "Banana, Apple, Orange". Le résultat souhaité est une table temporaire avec une colonne, "fruitName", remplie avec ces valeurs.

Solution possible :

L'exemple de fonction fourni montre comment y parvenir tâche dans Microsoft SQL Server, mais elle peut ne pas être directement applicable à MySQL. Explorez des approches alternatives pour MySQL.

Implémentation MySQL :

Vous pouvez construire une requête dynamique à l'aide d'une instruction préparée pour transmettre le tableau sous forme de chaîne et obtenir les résultats souhaités. Voici une 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 ;
Copier après la connexion

Utilisation :

Pour utiliser cette procédure stockée, suivez ces étapes :

SET @fruitArray = '\'apple\',\'banana\'';
CALL GetFruits(@fruitArray);
Copier après la connexion

Cette approche vous permet pour transmettre efficacement un tableau de chaînes et générer la table en mémoire nécessaire à la manipulation des données dans MySQL.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal