sql >> Databasteknik >  >> RDS >> Mysql

hur man använder WHERE IN mysql lagrad procedur

Du kan använda strängsammansättningen och PREPARE-satsen för att köra dynamiskt byggda frågor.

somestring måste konstrueras i ett giltigt SQL-format som '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. Hur man ansluter till en databas med Workbench MySQL-klienten

  2. SQL CASE-sats

  3. Bästa sättet att söka efter partiella ord i stora MySQL-datauppsättningar

  4. kan inte mata ut miniatyren på skärmen jag får en ren vit skärm med en liten trasig bild uppe till vänster