从sql server 到Oracle使用openquery带参数查询

     这两天一直在做财务报表的整理、导出,其中大量用到了数据库中计算,又因为集团与子公司用到的数据库不是一个数据库,所以就用到了openquery跨库查询

     因为财务报表计算比较复杂,所以这里就举一个简单地例子说明openquery使用:

    openquery函数不能传递参数,

    一种方法是将带参数的where限定条件放到openquery函数的外面,如 

    select * from OPENQUERY (linked_server, 'SELECT id FROM msgs') WHERE id=@id),但问题是如果数据量大的话,限定条件放在函数里面执行的效率更高,放在外面加重    了链接服务器的负担,等待返回结果的时间更长了,没有达到我想加快查询速度的问题。

    一种方法是将openquery语句放到一个字符串里面,但是这时候就要格外注意引号的问题,如 

DECLARE @Sql VARCHAR(1000)
set @sqlstr = 'select * from  openquery(ikangmis,select * from table where id='''+@id+''')
';
exec ( @sqlstr );
EXEC(@Sql)
   

阅读更多
版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/zhangyatoua/article/details/52386533
个人分类: C#代码
想对作者说点什么? 我来说一句

没有更多推荐了,返回首页

不良信息举报

从sql server 到Oracle使用openquery带参数查询

最多只允许输入30个字

加入CSDN,享受更精准的内容推荐,与500万程序员共同成长!
关闭
关闭