5

動的クエリの結果を一時テーブルに挿入したい、またはこの結果をテーブルとして使用したい。例えば ​​:

declare str varchar(2000);
set @str="select 
       from
        `cdr` ";
 PREPARE stmt1 FROM @str;
  EXECUTE stmt1;

そして今、私はこのようなクエリを実行したい

 select * from stmt1;
4

1 に答える 1

4

編集:以下のコードを試してください:

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;
于 2012-12-13T05:04:20.297 に答える