Mysql
 sql >> Base de données >  >> RDS >> Mysql

Passer le tableau à la routine stockée MySQL

Vous pouvez passer une chaîne avec votre liste et utiliser un déclarations préparées pour exécuter une requête, par ex. -

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 ;

Comment utiliser :

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