当前位置: 代码迷 >> Sql Server >> 依据记录怎样生成临时表(或数据表)
  详细解决方案

依据记录怎样生成临时表(或数据表)

热度:96   发布时间:2016-04-24 09:40:05.0
根据记录怎样生成临时表(或数据表)?
数据表T1 记录表结构
id            字段名            字段类型          默认值   
1             字段1             nvarchar(50)      Y
2             字段2             nvarchar(50)      null
3             字段3            bit                         0
4             字段4            int                          0
5             字段5             nvarchar(50)      Y

请问怎样根据T1的记录生成 临时表 或数据表 

------解决思路----------------------
你这样要拼动态SQL,但是EXEC中创建的临时表会马上删除,完全符合做不到。
创建普通表没问题。
DECLARE @sql nvarchar(max)
SET @sql = 'CREATE TABLE tempTable ('

--为了拼SQL方便,要求T1.默认值是字符串的,加上引号。
SELECT @sql = @sql + '
    '+字段名+' '+字段类型+' DEFAULT('+默认值+'),'
  FROM t1
ORDER BY id

SET @sql = STUFF(@sql,LEN(@sql),1,'
)')
--PRINT @sql
EXEC(@sql)
  相关解决方案