declare @TableName nvarchar(max)
set @TableName='addresses'
DECLARE @sql NVARCHAR(MAX)
set @sql= 'create table #tempadd ('
SELECT @[email protected] + STUFF(-- Remove first comma
(
SELECT ', ' + column_name+' '+ case when DATA_TYPE='varchar' then DATA_TYPE +'(500)' else DATA_TYPE end FROM -- create comma separated values
(
SELECT column_name,DATA_TYPE FROM information_schema.columns where table_name = @TableName --Your query here
) AS T FOR XML PATH('')
)
,1,1,'')
set @sql [email protected]+') '
print @sql
--SET @sql='SELECT * into #tempadd FROM '[email protected]+ ' WHERE 1=2'
EXEC sp_executesql @sql
select * from #tempadd
を使用して一時テーブルを作成するにはこれはエラーになり:それは内で定義されているのでエラーは、動的SQLに
Msg 208, Level 16, State 0, Line 25
Invalid object name '#tempadd'.
なぜ-1ですか?任意のコメントを外して – rahularyansharma
可能な複製[select ...のためのsp_executeSqlを#tableに実行するが、Temp Table Dataを選択する](http://stackoverflow.com/questions/8040105/execute-sp-executesql-for-select-テーブル・アンド・カント・セレクト・アウト・テンポラリ・テーブル・ダ) –