使用db link执行存储过程

众所周知,使用db link通常用来在本机检索远程数据库的表里的数据。那么是否可以使用db link来执行远程数据库里的存储过程呢?

我做了个测试,是完全可以的。


SQL> connect xxx/xxx @xxx

Connected to Oracle9i Enterprise Edition Release 9.2.0.7.0
Connected as XXX

SQL> drop procedure p_hsj_test_new;

Procedure dropped

SQL>
SQL> CREATE OR REPLACE PROCEDURE P_HSJ_TEST_NEW
2 (as_in in varchar2,
3 ai_rtd out number,
4 as_rmsg out varchar2)
5 IS
6 BEGIN
7 as_rmsg := 'return ' || as_in;
8 END;
9 /

Procedure created

SQL> connect xxx/xxx @xxx

Connected to Oracle9i Enterprise Edition Release 9.2.0.7.0
Connected as XXX

SQL> set serveroutput on;
SQL>
SQL> declare
2 li_rtd number;
3 ls_rmsg varchar2(200);
4 begin
5 p_hsj_test_new @his_database.us.oracle.com('hello',li_rtd,ls_rmsg);
6 dbms_output.put_line(ls_rmsg);
7 end;
8 /
return hello

PL/SQL procedure successfully completed

SQL>

对于函数来说,也是一样的。调用方法类似如下:

select function_name @db_link_name(inpar1,inparm2...) into var from dual;
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值