简体   繁体   English

如何在Oracle数据库的openquery中使用SQL Server表?

[英]How can I use a SQL Server table in an openquery to an Oracle database?

I have a database on SQL Server and would like to use a column in one of my tables in a linked server openquery I'm running to an Oracle database in order to match values between the two and insert the result into columns in my table in SQL Server . 我在SQL Server上有一个数据库,并且想在链接服务器openquery中使用我的一个表中的一列,我正在运行一个Oracle数据库,以匹配两者之间的值并将结果插入到我的表中的列中SQL Server。

Essentially I want it to be like this: 本质上,我希望它是这样的:

 SELECT col1, col2, col3, col4
 FROM OPENQUERY(link, 'SELECT * FROM Oracle_Table 
                       WHERE ID = MSSQL.dbo.table.ID`)

So I'd like to be able to use my internal table column values to query an external database. 因此,我希望能够使用内部表的列值来查询外部数据库。 They are related tables but different systems. 它们是相关表,但系统不同。

Would it be possible to get a big list of the values in the SQL Server table column and use it as a variable in the Oracle query? 是否有可能在SQL Server表列中获得大量的值列表,并将其用作Oracle查询中的变量? I've searched extensively online but haven't been able to find this one. 我已经在网上进行了广泛的搜索,但找不到此搜索。

您无法像我想要的那样传递参数,但是最终我在Powershell中使用for循环和字符串中的变量创建了一堆查询来创建我的大型查询,然后在每个SELECT FROM OPENQUERY()之后放置一个UNION ALL

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM