从oracle表中选择sql server表中的列
Posted
技术标签:
【中文标题】从oracle表中选择sql server表中的列【英文标题】:select from oracle table where column in sqlserver table 【发布时间】:2016-07-16 16:41:38 【问题描述】:我在 oracle 中有一个表,其中包含客户记录,在 Microsoft SQL Server 中有另一个表,其中包含某些标记客户的 30,000 多条记录。现在,我想从 oracle 中选择列在 Microsoft SQL Server 中的值。像这样:
SELECT oracleTable.custname
FROM oracleTable
WHERE oracleTable.idcol IN (/*LIST OF VALUES FROM SQL SERVER TABLE*/)
而且我没有权限在 oracle 数据库上创建表。
我必须在 C# 中创建一个函数,以这种格式返回列表值 '1','2','3','4'
并将其与我的命令文本连接,但 Microsoft SQL 服务器表包含超过 30,000 条记录,oracle 抱怨它只允许 1,000在一个列表中。
有人知道解决方法(C# 或 TSQL)吗?
【问题讨论】:
您是否在 Google 中搜索过答案 让我为你做这件事.. google.co.in/… 是的,我没有找到任何有用的答案。 我想过使用链接服务器,但我什至不允许在服务器上安装任何东西。在他们决定是否为我安装之前,我必须通过一些命令链发送请求。 【参考方案1】:在 Oracle 中创建一个临时表,插入值,然后加入。
【讨论】:
【参考方案2】:考虑到您提到的限制,我认为您应该考虑使用 C# 对其进行编码......您将拥有 DataTables 的灵活性。用 SQL Server 数据填充一个 DataTable,用 Oracle 填充另一个。现在您可以使用 Linq 获取所需的数据了。
希望这会有所帮助。
【讨论】:
以上是关于从oracle表中选择sql server表中的列的主要内容,如果未能解决你的问题,请参考以下文章
根据 SQL Server 中表中的列值从两个表中获取一个新表:
当 SQL Server 表中的列“createdDate”从现在起经过 90 天后,如何更新其具有数百万行的列?我们可以使用触发器吗?