Welk retourtype heeft uw huidige opgeslagen procedure? Je hebt het over "een lijst", dus TEKST?
Misschien is er een eenvoudigere manier, maar één ding dat u kunt doen (in een andere opgeslagen procedure) is om een andere query te maken.
Om dat te doen, moeten we twee beperkingen van MySQL omzeilen:a) Om dynamische SQL uit te voeren binnen een opgeslagen procedure, moet het een voorbereide instructie zijn. b) Voorbereide instructies kunnen alleen worden gemaakt op basis van gebruikersvariabelen. De volledige SQL is dus:
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;
Als je het hebt over het retourneren van een resultatenset uit een opgeslagen routine en deze vervolgens als tabel te gebruiken, is dat niet mogelijk. U moet een tijdelijke tabel maken om deze beperking te omzeilen .