Bạn có thể sử dụng cách nối chuỗi và câu lệnh PREPARE để chạy các truy vấn được tạo động.
somestring
phải được tạo ở định dạng SQL hợp lệ như '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 ;