Mysql
 sql >> Baza danych >  >> RDS >> Mysql

jak używać procedury składowanej WHERE IN mysql

Możesz użyć konkatenacji ciągów i instrukcji PREPARE do uruchamiania dynamicznie zbudowanych zapytań.

somestring musi być skonstruowany w prawidłowym formacie SQL, takim jak '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. Błąd MySQL:1395 Nie można usunąć z widoku dołączania

  2. #1025 - Błąd zmiany nazwy (errno:150) w mysql

  3. połączenie MATLAB 7.0 i MYSQL

  4. Laravel:jak dodać klauzulę where za pomocą kreatora zapytań?

  5. Początkowy problem z autoryzacją w mysql