Mysql
 sql >> база данни >  >> RDS >> Mysql

как да използвате съхранената процедура WHERE IN mysql

Можете да използвате конкатенацията на низове и израза PREPARE, за да изпълнявате динамично изградени заявки.

somestring трябва да бъде конструиран във валиден SQL формат като '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. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Ефективен начин за изчисляване на броя на външните ключове във втората таблица и показването му с редове от първата таблица - PHP - MySQL

  2. Ръководство за разбиране на моделите за мащабиране на базата данни

  3. Как трябва да се съхраняват конвертираните от ip2long IP в MySQL?

  4. Кои са жизнеспособните слоеве за абстракция на база данни за Python

  5. PDO bind_param е недефиниран метод