sql – 将动态生成的数据透视表转换为临时表

前端之家收集整理的这篇文章主要介绍了sql – 将动态生成的数据透视表转换为临时表前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我见过 this,所以我知道如何使用动态生成的字段集创建数据透视表.我现在的问题是我想把结果放到临时表中.

我知道为了从EXEC语句中将结果集放入临时表,您需要预定义临时表.在动态生成的数据透视表的情况下,无法事先知道字段.

我能想到获得此类功能的唯一方法是使用动态sql创建永久表.有没有更好的办法?

解决方法

你可以这样做:
-- add 'loopback' linkedserver 
if exists (select * from master..sysservers where srvname = 'loopback')
    exec sp_dropserver 'loopback'
go
exec sp_addlinkedserver @server = N'loopback',@srvproduct = N'',@provider = N'sqlOLEDB',@datasrc = @@servername
go

declare @myDynamicsql varchar(max)
select @myDynamicsql = 'exec sp_who'
exec('
    select * into #t from openquery(loopback,''' + @myDynamicsql + ''');
    select * from #t
    ')

编辑:添加动态sql以接受params到openquery

原文链接:https://www.f2er.com/mssql/83563.html

猜你在找的MsSQL相关文章