Выполнить sp_executeSql для выбора… в #table, но не удается выделить данные из временной таблицы

Пытался выбрать ... во временную таблицу #TempTable в sp_Executedsql. Не успешно вставлен или нет, но там сообщения написаны (затронуты 359 строк), что означает успешная вставка? Сценарий ниже

DECLARE @Sql NVARCHAR(MAX);
SET @Sql = 'select distinct Coloum1,Coloum2 into #TempTable 
            from SPCTable with(nolock)
            where Convert(varchar(10), Date_Tm, 120) Between @Date_From And @Date_To';

SET @Sql = 'DECLARE @Date_From VARCHAR(10);
            DECLARE @Date_To VARCHAR(10);
            SET @Date_From = '''+CONVERT(VARCHAR(10),DATEADD(d,DATEDIFF(d,0,GETDATE()),0)-1,120)+''';
            SET @Date_To = '''+CONVERT(VARCHAR(10),DATEADD(d,DATEDIFF(d,0,GETDATE()),0)-1,120)+''';
            '+ @Sql;

EXECUTE sp_executesql @Sql;

После выполнения он возвращает мне сообщения (строка 359) (s) затронуты). Далее при попытке выбрать данные из #TempTable.

Select * From #TempTable;

Его верни мне:

Msg 208, Level 16, State 0, Line 2
Invalid object name '#TempTable'.

Подозреваю, что он работает только с разделом «select». Вставка не работает. как это исправить?

33
задан Cœur 16 April 2017 в 04:19
поделиться