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

jak používat uloženou proceduru WHERE IN mysql

Ke spouštění dynamicky vytvářených dotazů můžete použít zřetězení řetězců a příkaz PREPARE.

somestring musí být vytvořen v platném formátu SQL, jako je '1','2','3'

DELIMITER $$
DROP PROCEDURE IF EXISTS `abc`.`table1`$$
CREATE PROCEDURE  `abc`.`test`
(IN somestring VARCHAR(255))
BEGIN
    @s=CONCAT("
    SELECT * FROM abc.table1 
    WHERE flight_type IN (",somestring,");")
    PREPARE stmt FROM @s;
    EXECUTE @s;
END $$
DELIMITER ;


  1. Předávání parametrů do JDBC PreparedStatement

  2. Seskupit podle max(času) mysql

  3. nelze se připojit k dockeru mysql z místního

  4. Funkce WIDTH_BUCKET() v Oracle