2016-11-10 3 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 ТАБЛИЦА ## Subclass_Season_AS \t ([Кодированный сезон] VARCHAR (10), \t [Подкласс Id] VARCHAR (40), \t [Сезон] VARCHAR (40), \t [ Pl No of Range Opts] 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