簡體   English   中英

使用准備好的語句的結果作為查詢中的臨時表

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM