Ошибка в динамическом SQL при импорте данных из временной в постоянную таблицу - PullRequest
0 голосов
/ 28 ноября 2018

Это мой запрос:

Declare @i int
Declare @Query nvarchar(max)

Set @i = 1

while(@i < 3)
begin
    Select YEAR, MONTH 
    into #temp 
    from Toyota1

    Set @Query = 'Select * into table'+ CASt(@i AS VARCHAR(10)) + 'from #temp'

    Set @i = @i + 1 

    exec (@query)

    Drop Table #temp
end

Я получаю следующие ошибки:

Сообщение 102, Уровень 15, Состояние 1, Строка 2
Неверный синтаксис рядом с '#temp '

Msg 102, уровень 15, состояние 1, строка 2
Неверный синтаксис рядом с' #temp '.

Пожалуйста, помогите.

1 Ответ

0 голосов
/ 28 ноября 2018

Что-то вроде этого возможно:

DECLARE @i     INT = 1
DECLARE @Query NVARCHAR(MAX);

IF OBJECT_ID('tempdb..#temp') IS NOT NULL DROP TABLE #temp;
SELECT TOP (0) [YEAR], [MONTH]
INTO #temp 
FROM Toyota1;


WHILE(@i < 3)
BEGIN
  INSERT #temp ([YEAR], [MONTH])
  SELECT [YEAR], [MONTH]
  FROM Toyota1
  WHERE <some logic here that requires a loop>

  SET @i += 1
END

SELECT * 
INTO <TABLE> 
FROM #temp;

DROP TABLE #temp;
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...