Maison >base de données >tutoriel mysql >Comment puis-je transmettre des tableaux de chaînes aux procédures stockées MySQL ?

Comment puis-je transmettre des tableaux de chaînes aux procédures stockées MySQL ?

Susan Sarandon
Susan Sarandonoriginal
2024-12-05 02:44:10306parcourir

How Can I Pass String Arrays to MySQL Stored Procedures?

Passer des paramètres de tableau aux routines stockées MySQL

Lorsque vous travaillez avec des tableaux de chaînes de longueur variable, les transmettre en tant que paramètres aux routines stockées MySQL peut poser un défi. Pour surmonter ce problème, une solution alternative consiste à concaténer les valeurs du tableau en une seule chaîne et à utiliser des instructions préparées.

L'extrait de code suivant décrit le processus :

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 ;

Pour utiliser cette procédure stockée , vous pouvez initialiser une variable chaîne avec les valeurs du tableau séparées par des virgules et appeler la procédure en passant la variable en argument :

SET @fruitArray = '\'apple\',\'banana\'';
CALL GetFruits(@fruitArray);

Cette solution vous permet effectivement pour transmettre un tableau de valeurs de chaîne à une routine stockée MySQL et travailler avec les données dans une table en mémoire.

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!

Déclaration:
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