sql >> Base de Datos >  >> RDS >> Mysql

Procedimiento almacenado de MySQL que acepta cadenas con múltiples parámetros

Debe cambiar el tamaño de VARCHAR a su valor máximo (o un valor significativo más bajo).

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 ;

Sin embargo, tenga en cuenta que el límite es menor si utiliza un conjunto de caracteres de varios bytes:

VARCHAR(21844) CHARACTER SET utf8

Como se ve aquí .