1

我想##TempTable在我的 sql Server 查询中使用从 oracle db 获取值,但总是出错,错误说

##TempTable is Invalid object name '##TempTable '.

这是我使用的代码##TempTable

SET @sQuery = 'SELECT * INTO ##TempTable 
FROM OPENQUERY(ITCP,''SELECT * FROM DB.WINFO WHERE SCH_DATE = '''''+ 
CONVERT(VARCHAR(10),@DDATE,121) +''''''' ) A' EXEC(@sQuery)

我很困惑,我应该##TempTable像往常一样声明查询来创建类似的创建表还是通过该查询自动创建临时表?因为我总是出错

4

1 回答 1

0

我认为问题是您的临时表是在一个范围内创建的,而您的动态查询是在另一个范围内执行的。

有几件事要尝试:

  1. 首先创建##temptable,然后将其填充到您的动态查询中。

  2. 尝试在表名前加上 tempdb..(所以 tempdb..##temptable)。

  3. 使用持久表(不是临时表)。

希望这可以帮助。

于 2013-11-21T05:14:55.617 回答