動的クエリで一時テーブルを作成し、後で使用したいと思います。永続的なテーブルから作成されます。
create table t (a integer);
insert into t values (1);
そして、一時テーブルの作成は次のようになります。
declare @command varchar(max) = '
select *
into #t
from t
;
select * from #t;
';
execute (@command);
@コマンドを実行するとselect from
、一時テーブルが機能します。
ここで、一時テーブルから選択すると、エラーメッセージが表示されます。
select * from #t;
Invalid object name '#t'
一時テーブルが動的クエリの外部で作成された場合、それは機能します。
select top 0 *
into #t
from t
declare @command varchar(max) = '
insert into #t
select *
from t
';
execute (@command);
select * from #t;
動的に作成された一時テーブルを永続化することは可能ですか?