我在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'
返回列表值并将其与我的命令文本连接,但是包含超过30,000条记录的Microsoft SQL服务器表,oracle只抱怨它在列表中允许1,000个。
有人知道解决方法(C#或TSQL)吗?
答案 0 :(得分:1)
在Oracle中创建一个临时表,插入值,然后加入。
答案 1 :(得分:1)
考虑到您提到的限制,我认为您应该考虑使用C#进行编码...您将拥有DataTables的灵活性。用SQL Server数据填充一个DataTable,用Oracle填充另一个DataTable。现在,您可以使用Linq获取所需的数据。
希望这有帮助。