SQL Server链接的Oracle如何执行数据集查询

时间:2018-10-13 07:22:11

标签: sql-server oracle openquery

在sql server中,我有一个带有ID的表。我通过循环通过openquery传递ID。

while @coun < 1000
begin 
   select @id=id from #temp where num = @coun
   @sql = 'select * from tableoracle where id=' + @id
   execute('insert into #temp2 select * from openquery(ORAC, ' + @sql+')')
   set @coun = @coun + 1
End

我可以立即将ID作为一组发送,而不是一个一个地发送吗?

如果您在不带id的oracle中一次访问整个表,则请求将挂起, 很多数据

1 个答案:

答案 0 :(得分:0)

找到解决方案

 declare @a varchar(max) = (select '(' + stuff (
(SELECT ',''' +id + ''''
  FROM #temp
  for xml path('')), 
  1, 1, '') + ')')
  @sql = 'select * from tableoracle where id in ' + @a
  execute('insert into #temp2 select * from openquery(ORAC, ' + @sql+')')