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

Procédure stockée MySQL qui accepte une chaîne avec plusieurs paramètres

Vous devez modifier la taille VARCHAR à sa valeur maximale (ou une valeur significative inférieure).

DELIMITER //
CREATE PROCEDURE deleteObjectTypes(IN p_type VARCHAR(65535))
BEGIN
    SET @query = CONCAT ('DELETE FROM object WHERE Type NOT IN (',p_type,')');
    PREPARE stmt FROM @query;
    EXECUTE stmt;
    DEALLOCATE PREPARE stmt;
END //
DELIMITER ;

Cependant, notez que la limite est inférieure si vous utilisez un jeu de caractères multi-octets :

VARCHAR(21844) CHARACTER SET utf8

Comme on le voit ici .