在存储过程是否可以通过DB_Link调用另外一个数据库的存储过程

tchx 2009-12-24 05:46:38
我想在存储过程通过已经建立好的DBLINK 去调用远端数据库的存储过程?
存储过程应该如何写?
CREATE OR REPLACE PROCEDURE p_get_bal_detail
(
in_serviceid IN varchar2,-- 操作码
in_OpID IN VARCHAR2,-- 操作员代码
in_contractcode IN VARCHAR2,-- 合同编号,
In_TRANSACTIONDATE IN VARCHAR2,--赎回日期(某个开放日)
in_mgr_type IN VARCHAR2,-- 赎回申请 I 新增,U修改
in_appsheetserialno IN VARCHAR2,-- 如是 U,则非空

rc1 OUT bssys.tp_cursor,
rc2 OUT bssys.tp_cursor

) IS
v_code varchar2(200);
v_msg varchar2(2000);
n_sumvol number;
n_balvol number;
n_avlvol number;

BEGIN
OPEN rc1 FOR
SELECT 0 AS errorcode, '查询成功'
FROM dual;
OPEN rc2 FOR
select test_user.p_hzsg_get_redeembal@TESTDB(in_serviceid,in_OpID,in_contractcode,
In_TRANSACTIONDATE,
in_mgr_type ,
in_appsheetserialno,
v_code,
v_msg,
n_sumvol,
n_balvol,
n_avlvol)
FROM DUAL;
--SELECT * FROM test_user.FUNDINFO@TESTDB;
END;
我按上面的写,通不过编译。
p_hzsg_get_redeembal为存储过程名字
test_user 为远端数据库名字
testDB 为databaseLink
SELECT * FROM test_user.FUNDINFO@TESTDB;此语句能查出结果。
证明DatabaseLink是好的。
...全文
182 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
zhoudianzhang 2012-08-13
  • 打赏
  • 举报
回复
怎么调用的呢?我现在也遇到了这样的问题!
tchx 2010-05-20
  • 打赏
  • 举报
回复
已经解决,调用方式错误。
态度决定品质 2009-12-29
  • 打赏
  • 举报
回复
可以,首先要保证dblink是可用的。
jackiecheng001 2009-12-25
  • 打赏
  • 举报
回复
select test_user.p_hzsg_get_redeembal@TESTDB(in_serviceid,in_OpID,in_contractcode,
In_TRANSACTIONDATE,
in_mgr_type ,
in_appsheetserialno,
v_code,
v_msg,
n_sumvol,
n_balvol,
n_avlvol)
FROM DUAL;

1.要注意test_user.p_hzsg_get_redeembal@TESTDB 的返回类型
2.在pl/sql单独call test_user.p_hzsg_get_redeembal@TESTDB 看看能否执行
3. test_user.p_hzsg_get_redeembal@TESTDB 这个函数 在packbody 运行 是要有显式授权的

huangyunzeng2008 2009-12-24
  • 打赏
  • 举报
回复
如果不明白我的意思,可以给我联系
huangyunzeng2008 2009-12-24
  • 打赏
  • 举报
回复
通过db_link是可以,但是你是使用所连接的数据库的哪个用户建立的的,需要这个用户有足够的权限才行啊!
小灰狼W 2009-12-24
  • 打赏
  • 举报
回复
过程中使用dblink是可以的
通不过编译,提示什么错误?
命令行窗口中编译后提示错误时,show errors看看
crazylaa 2009-12-24
  • 打赏
  • 举报
回复
倒没试过,关注

17,078

社区成员

发帖
与我相关
我的任务
社区描述
Oracle开发相关技术讨论
社区管理员
  • 开发
  • Lucifer三思而后行
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧