SQL Неверное имя объекта для временной таблицы с openquery

SQL-запрос, как показано ниже:

DECLARE @Sql VARCHAR (8000)
SET @Sql='XXXXXX'

IF OBJECT_ID('tempdb..#Orders') IS NOT NULL DROP  TABLE #Orders
EXEC('SELECT * INTO  #Orders FROM OPENQUERY(TMM10, ''' +@Sql+ ''')')  
--Until now everything seems OK

SELECT * FROM  #Order

Этот оператор работает хорошо до вставки для временной таблицы. Результат показывает "49134 строки были вставлены". Однако ошибка показывает "недопустимое имя объекта #Order", которое существует в Tempdb.

1 ответ

Объем вопроса; Я изменил ваш тест, чтобы продемонстрировать способ обойти это.

DECLARE @Sql VARCHAR (8000)
SET @Sql='XXXXXX'

IF OBJECT_ID('tempdb..#Orders') IS NOT NULL DROP  TABLE #Orders
CREATE TABLE #Orders (ID INT)

INSERT INTO #Orders
        ( ID )

EXEC('SELECT 1')  
--Until now everything seems OK

SELECT * FROM  #Orders
Другие вопросы по тегам