Если у меня есть результат подготовленного оператора; как использовать его в качестве источника моего запроса?Использование результата подготовленного оператора в виде временной таблицы в запросе
CALL `myProcedure`;
PREPARE stmnt FROM @allSQL;
EXECUTE stmnt;
DEALLOCATE PREPARE stmnt;
Таким образом, я получаю выход из EXECUTE stmnt;
(назовем его tmp
), и я хотел бы выполнить запрос по линиям:
SELECT * FROM (EXECUTE stmnt) AS tmp WHERE this = that;
Я не думаю, что вы можете это сделать. Вам нужно подготовить весь запрос, а не подзапрос. – Barmar
@Barmar, это мой страх :( – matthias
@matthias - почему вы не подготовили оператор дырки, например: ** CALL 'myProcedure'; SET @allSQL: = CONCAT ('SELECT * FROM (', @ allSQL, ') AS TMP WHERE это =, что '); ГОТОВИТ stmnt ИЗ @allSQL; ВЫПОЛНИТЬ stmnt; DEALLOCATE ГОТОВИТ stmnt; ** –