Какъв тип връщане има вашата текуща съхранена процедура? Говорите за „списък“, така че ТЕКСТ?
Може би има по-лесен начин, но едно нещо, което можете да направите (в друга съхранена процедура), е да създадете друга заявка.
За да направим това, трябва да заобиколим две ограничения на MySQL:a) За да изпълним динамичен SQL вътре в съхранена процедура, тя трябва да бъде подготвен оператор. b) Подготвени отчети могат да бъдат създадени само от потребителски променливи. Така че пълният SQL е:
SET @the_list = myStoredProc();
SET @the_query = CONCAT('SELECT * FROM myTable WHERE columnName IN (' , @the_list , ')');
PREPARE the_statement FROM @the_query;
EXECUTE the_statement;
Ако говорите за връщане на набор от резултати от съхранена рутина и след това да го използвате като таблица, това не е възможно. Трябва да направите временна таблица, за да заобиколите това ограничение .