sql >> Databáze >  >> RDS >> Mysql

Uložená procedura MySQL, která přijímá řetězec s více parametry

Musíte změnit velikost VARCHAR na maximální hodnotu (nebo nižší významnou hodnotu).

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 ;

Pamatujte však, že limit je nižší, pokud používáte vícebajtovou znakovou sadu:

VARCHAR(21844) CHARACTER SET utf8

Jak je vidět zde .



  1. Problém Android SQLite - tabulka ... nemá žádný sloupec pojmenovaný

  2. Výsledky databáze jako objekty nebo pole?

  3. Škálování PostgreSQL pro velké množství dat

  4. Závažná chyba při volání funkce uložené v MySQL z PHP pomocí MySQLi