動的クエリの結果を一時テーブルに挿入したい、またはこの結果をテーブルとして使用したい。例えば :
declare str varchar(2000);
set @str="select
from
`cdr` ";
PREPARE stmt1 FROM @str;
EXECUTE stmt1;
そして今、私はこのようなクエリを実行したい
select * from stmt1;
動的クエリの結果を一時テーブルに挿入したい、またはこの結果をテーブルとして使用したい。例えば :
declare str varchar(2000);
set @str="select
from
`cdr` ";
PREPARE stmt1 FROM @str;
EXECUTE stmt1;
そして今、私はこのようなクエリを実行したい
select * from stmt1;
編集:以下のコードを試してください:
DECLARE str VARCHAR(2000);
SET @str="CREATE TEMPORARY TABLE tempTable1 select * from `cdr` ";
PREPARE stmt1 FROM @str;
EXECUTE stmt1;
DEALLOCATE PREPARE stmt1;
SELECT * FROM tempTable1;
-- Code what you want to work on temptable1
DROP TABLE tempTable1;
元の回答:最初に一時テーブルを作成してから、以下のコードを使用します。
DECLARE str VARCHAR(2000);
SET @str="insert into tempTable select * from `cdr` ";
PREPARE stmt1 FROM @str;
EXECUTE stmt1;
DEALLOCATE PREPARE stmt1;
次に、次のようにクエリを実行できます。
SELECT * FROM tempTable;