[英]Using result of prepared statement as temp table in query
如果我有准备好的语句的输出; 如何使用它作为查询的来源?
CALL `myProcedure`;
PREPARE stmnt FROM @allSQL;
EXECUTE stmnt;
DEALLOCATE PREPARE stmnt;
因此,我从EXECUTE stmnt;
获得了输出EXECUTE stmnt;
(我们称它为tmp
),我想按照以下方式运行查询:
SELECT * FROM (EXECUTE stmnt) AS tmp WHERE this = that;
您可以准备一个包含查询结果的CREATE TEMPORARY TABLE
语句:
SET @createSQL = CONCAT('CREATE TEMPORARY TABLE tmp AS ', @allSQL);
PREPARE stmt FROM @createSQL;
EXECUTE stmt;
DEALLOCATE PREPARE stmt;
SELECT * FROM tmp WHERE this = that;
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.