2012-11-01 1 views
2

Я пытаюсь получить результат в таблице темп, но не могу заставить его работать.Попытка поставить динамический результат подзапроса SQL в таблицу temp SQL-Server 2008 без предварительного определения таблицы temp

DECLARE @query nvarchar(max) 
SET @query = N'SELECT * INTO ##TmpTbl FROM (SELECT * FROM Tbl1)' 
EXEC(@query) 

Что я делаю неправильно?

Примечание: Я не могу заранее определить временные переменные таблицы/таблицы из-за фактический вопрос запущенным является стержень вопрос без предварительного определенных столбцов в подмигнул результата.

+2

Что такое сообщение об ошибке? –

+0

Неправильный синтаксис рядом с ')' – Gruffalon

+0

Попробовали ли дать подзапрос псевдоним? –

ответ

4

Вы пропускаете псевдоним на вложенный запрос:

DECLARE @query nvarchar(max) 
SET @query = N'SELECT * 
       INTO ##TmpTbl 
       FROM (SELECT * FROM Tbl1) src' <--- you need an alias 
EXEC(@query) 
+0

А, вот и все. Tnx alot! – Gruffalon