【发布时间】:2012-02-18 05:49:04
【问题描述】:
declare @TableName nvarchar(max)
set @TableName='addresses'
DECLARE @sql NVARCHAR(MAX)
set @sql= 'create table #tempadd ( '
SELECT @sql=@sql + 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 =@sql+' ) '
print @sql
--SET @sql='SELECT * into #tempadd FROM '+@TableName+ ' WHERE 1=2'
EXEC sp_executesql @sql
select * from #tempadd
这会导致错误:
消息 208,第 16 级,状态 0,第 25 行
对象名称“#tempadd”无效。
【问题讨论】:
-
为什么是 -1 ?没有任何评论
标签: sql sql-server-2005 dynamic-sql