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

Procedura memorizzata MySQL che accetta stringhe con più parametri

Devi modificare la dimensione VARCHAR al suo valore massimo (o un valore significativo inferiore).

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 ;

Tuttavia, tieni presente che il limite è inferiore se utilizzi un set di caratteri multibyte:

VARCHAR(21844) CHARACTER SET utf8

Come visto qui .