首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >OPENQUERY到临时表

OPENQUERY到临时表
EN

Stack Overflow用户
提问于 2018-03-05 22:25:54
回答 1查看 4.1K关注 0票数 0

我尝试使用OPENQUERY从MySQL获取一些数据,但我需要将结果放入临时表中进行操作。

我尝试了几个示例,但得到了相同的错误:

代码语言:javascript
复制
DECLARE @lastid int = (SELECT MAX(remoteid) FROM cdr)
DECLARE @TSQL varchar(8000)
SELECT  @TSQL = 'SELECT * FROM OPENQUERY([PBXA_MYSQL],''SELECT * INTO #tempcdr FROM asterisk.cdr WHERE id > ''''' + CAST(@lastid as varchar(50)) + ''''''')'
EXEC (@TSQL)

SELECT * FROM #tempcdr

无法从链接服务器"PBXA_MYSQL“的OLE DB访问接口"MSDASQL”获取列信息。

普通的select可以很好地工作,但是select into有这个错误。

谢谢

EN

回答 1

Stack Overflow用户

发布于 2018-06-01 21:36:46

您将OPENQUERY的结果存储到远程服务器上的临时表中,而不是本地服务器上。此外,临时表仅存在于该会话中,作为本地临时表,您需要将其设置为全局表

要获得结果,您需要将查询更改为:

代码语言:javascript
复制
DECLARE @lastid int = (SELECT MAX(remoteid) FROM cdr)
DECLARE @TSQL varchar(8000)
SELECT  @TSQL = 'SELECT * INTO ##tempcdr FROM OPENQUERY([PBXA_MYSQL],''SELECT * FROM asterisk.cdr WHERE id > ''''' + CAST(@lastid as varchar(50)) + ''''''')'
EXEC (@TSQL)

SELECT * FROM ##tempcdr
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/49112633

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档