SQL 已经将列名从临时表中查询出来,怎么将它一一罗列出来呢,请各位大虾指点!

2024-11-25 16:18:52
推荐回答(3个)
回答1:

自定一个方法,返回值为罗列的列的字符串,
方法体内,查询T表,遍历结果集,将每一列一一用字符串拼接起来
最终将拼接后的字符串返回。
外层调用方法后,利用动态SQL来执行insert操作。

回答2:

使用动态SQL语句:
declare @name Nvarchar(100),@sqlStr nvarchar(1000)
select @name=isnull(@name+N',','')+name from tempdb.dbo.syscolumns where id=object_id(N'tempdb..##t')
set @sqlStr=N'insert into a SELECT '+@NAME+' FROM ##t b'

EXEC(@SQLSTR)

回答3:

create table ##t(colmns)
临时表直接使用创建的而不用insert into生成的。