Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/76.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql 使用诱惑函数获取错误_Sql_Sql Server_Temp Tables_Openquery - Fatal编程技术网

Sql 使用诱惑函数获取错误

Sql 使用诱惑函数获取错误,sql,sql-server,temp-tables,openquery,Sql,Sql Server,Temp Tables,Openquery,我想在我的sql Server查询中使用Testable从oracle db中获取值,但错误显示总是获取错误 ##TempTable is Invalid object name '##TempTable '. 下面是我使用诱惑的代码 我很困惑,我应该声明查询来创建像往常一样的可诱惑的创建表,还是通过该查询来自动创建临时表?因为我总是遇到错误,我认为问题在于临时表是在一个作用域中创建的,而动态查询是在另一个作用域中执行的 有几件事可以尝试: 首先创建诱惑,然后在动态查询中填充它 尝试使用tem

我想在我的sql Server查询中使用Testable从oracle db中获取值,但错误显示总是获取错误

##TempTable is Invalid object name '##TempTable '.
下面是我使用诱惑的代码


我很困惑,我应该声明查询来创建像往常一样的可诱惑的创建表,还是通过该查询来自动创建临时表?因为我总是遇到错误,我认为问题在于临时表是在一个作用域中创建的,而动态查询是在另一个作用域中执行的

有几件事可以尝试:

首先创建诱惑,然后在动态查询中填充它

尝试使用tempdb作为表名的前缀。。太诱人了

使用持久表而不是临时表


希望这能有所帮助。

如果您事先创建了诱惑并插入诱惑选择*,它会起作用吗?是的,它会起作用,但我担心后来我不知道ora db的结构,我无法先创建表,有可能从openquery向sometable中插入这样的查询吗?只是确认一下——您在上面遇到了错误EXEC@sQuery还是别的地方?@YuriyGalanter是的EXEC@sQueryhmm我明白了,所以最好像tempdb那样创建数据库,只需从oracle中删除值即可防止这些错误,并使我的主数据库远离任何临时表。实际上是一个全局临时表,应该在所有范围内都可见。哦,尤其是在创作期间
SET @sQuery = 'SELECT * INTO ##TempTable 
FROM OPENQUERY(ITCP,''SELECT * FROM DB.WINFO WHERE SCH_DATE = '''''+ 
CONVERT(VARCHAR(10),@DDATE,121) +''''''' ) A' EXEC(@sQuery)