自定一个方法,返回值为罗列的列的字符串,
方法体内,查询T表,遍历结果集,将每一列一一用字符串拼接起来
最终将拼接后的字符串返回。
外层调用方法后,利用动态SQL来执行insert操作。
使用动态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)
create table ##t(colmns)
临时表直接使用创建的而不用insert into生成的。