sql >> Database teknologi >  >> RDS >> Mysql

Send array til MySQL-lagret rutine

Du kan sende en streng med din liste og bruge en udarbejdede erklæringer at køre en forespørgsel, f.eks. -

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 ;

Sådan bruges:

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


  1. Hvad er den mest passende datatype til lagring af en IP-adresse i SQL server?

  2. Brug COL_LENGTH() til at få en kolonnes længde i SQL Server

  3. Hvordan håndhæver jeg sætlignende unikhed mellem flere kolonner?

  4. Hvad gør 'COLLATE SQL_Latin1_General_CP1_CI_AS'?