首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在连接到SAP-HANA的链接服务器上的T-SQL查询中使用“占位符”?

如何在连接到SAP-HANA的链接服务器上的T-SQL查询中使用“占位符”?
EN

Stack Overflow用户
提问于 2019-03-08 00:34:30
回答 1查看 404关注 0票数 0

我需要从位于Hana的表视图中提取数据到MS-SQL表中。HANA团队告诉我,我必须使用“占位符”来防止同时加载changelog和活动表。

以下是查询:

代码语言:javascript
复制
Declare @querytext nvarchar(1000)
Set @querytext ='
Insert into stagingtable
Select * from Openquery(LinkedServer,
''Select Field1, Field2, Field3 
From "SYSBI"."testdata.view/viewname"(''Placeholder''=(''$$Value1$$'',''00000''), ''Placeholder''=(''$$Value2$$'',''F'')); 
Where Field1 in (''ab'',''cd'',''ef''));''
'
EXEC(@querytext)

链接服务器起作用(测试连接起作用)。在Hana (或SAP)中运行这个查询是可行的。但是,在使用Openquery在SSMS中运行查询时,我得到一个语法错误:

“placeholder”附近的语法不正确

我尝试了所有",“或”“的变体,或者完全省略了它,但似乎没有任何帮助。有人有主意吗?

EN

回答 1

Stack Overflow用户

发布于 2019-03-08 16:45:40

语法有一些拼写错误,将所有内容放入变量的字符串中仍然存在问题。但是:

代码语言:javascript
复制
Insert into stagingtable
Select * from Openquery(LinkedServer,
'Select Field1, Field2, Field3 
From "SYSBI"."testdata.view/viewname"(''Placeholder''=(''$$Value1$$'',''00000''), 
''Placeholder''=(''$$Value2$$'',''F'')) 
Where Field1 in (''ab'',''cd'',''ef''));')

按预期工作。我现在“只”需要将整个查询包装到一个字符串中,以便将其放入一个变量中。

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

https://stackoverflow.com/questions/55048699

复制
相关文章

相似问题

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