我想在我的sql Server查询中使用##TempTable
从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
这样的创建表,或者通过该查询创建临时表应该自动创建?因为我总是收到错误
答案 0 :(得分:0)
我认为问题是你的临时表是在一个范围内创建的,而你的动态查询是在另一个范围内执行的。
要尝试的一些事项:
首先创建## temptable,然后在动态查询中填充它。
尝试使用tempdb为表名添加前缀..(所以tempdb .. ## temptable)。
使用持久表(不是临时表)。
希望这有帮助。