如何解决将动态生成的数据透视表转换为临时表
您可以这样做:
-- 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
')
解决方法
我已经看过了,所以我知道如何用动态生成的字段集创建数据透视表。我现在的问题是我想将结果放入临时表中。
我知道,为了将结果集从 EXEC 语句放入临时表中,您需要预先定义临时表。对于动态生成的数据透视表,无法事先知道字段。
我想得到这种功能的唯一方法是使用动态SQL创建一个永久表。有没有更好的办法?
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。