2016-11-10 105 views
1

我在SQL Server中运行下面的动态查询,使用链接服务器连接到OLAP服务器,从而返回表作为结果。从动态查询表输出中将数据插入到临时表中

SET @nSQL = EXECUTE ('SELECT non empty { 
[Coded Season].[Coded Season].[Coded Season] * 
[Season].[Season].[Season] * 
[Product].[Subclass].[Subclass] * 
[Product].[Subclass Id].[Subclass Id] 
} ON ROWS,{ 
[Measures].[Pl No of Range Opts] 
} ON COLUMNS 
FROM RP_C0') AT AS_T_RP_5900_Admin 

我执行它在SQL Server这样的:

exec sp_executesql @nSQL; 

它返回值的表。现在我想将数据插入临时表中。我已经尝试了下面的代码,但它不起作用。

INSERT INTO ##Subclass_Season_AS 
exec sp_executesql @nSQL; 

也试过,

set @strNewQuery ='SELECT '[email protected]+' INTO ##temptablename ' 
exec @strNewQuery 

能否请您在这方面的帮助?谢谢!

+2

你得到的错误是什么?你可以显示“## Subclass_Season_AS”表定义吗? – gotqn

+0

嗨,这是表defintion.CREATE TABLE ## Subclass_Season_AS \t([编码季] VARCHAR(10), \t [子类ID] VARCHAR(40), \t [季] VARCHAR(40), \t [范围选择范围] INT)。错误的语法是我得到的错误。 – Emraan

+0

改为使用'AT AS_T_RP_5900_Admin'可以在每个表名前面添加链接的服务器名称? – gotqn

回答

0

您可能想要尝试将INTO语句放入动态查询中。

SET @nSQL = EXECUTE ('SELECT non empty { 
[Coded Season].[Coded Season].[Coded Season] * 
[Season].[Season].[Season] * 
[Product].[Subclass].[Subclass] * 
[Product].[Subclass Id].[Subclass Id] 
} ON ROWS,{ 
[Measures].[Pl No of Range Opts] 
} ON COLUMNS 
INTO ##temptablename 
FROM RP_C0') AT AS_T_RP_5900_Admin 
相关问题