首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 数据库 > oracle >

怎么调用远程的procedure并且返回游标

2012-01-24 
如何调用远程的procedure并且返回游标各位大侠,问题是这样的,就是经常遇到需要写procedure用到远程数据库

如何调用远程的procedure并且返回游标
各位大侠,问题是这样的,就是经常遇到需要写procedure用到远程数据库中的数据,然后返回一个游标(查询结果),目前的做法是用DBLINK将远程的数据拉到本地数据库,然后在做处理,如果数据量非常大的话就感觉不行,我想是不是有办法将过程建在远程DB上,然后调用,将结果返回到本地,请各位大侠指点

[解决办法]
如果你在远程数据库有权限,可以将procedure建立在远程库上,然后在本地调用该远程procedure,获取结果集。
[解决办法]
也是可以的
存储过程建在远程数据库user_name用户下
create or replace procedure getRec(o out sys_refcursor) is
begin
open o for select * from your_table;
end;

如在sqlplus中调用远程数据库的存储过程
sql>var c refcursor;
sql>exec user_name.getRec@dblink_name(:c);
sql>print c;

热点排行