oracle数据表在企业居域网服务器上。
假设有两个服务器地址10.62.162.1,10.62.163.1;我的pl/sql连到10.62.162.1上,然后在这里面建立函数.
有两种情况:
1、写一个函数,返回本地(10.62.162.1)的一个oracle数据表中的符合条件的一个数(或者一些记录);
1、写一个函数,返回远程(10.62.163.1)的一个oracle数据表中的符合条件的一个数(或者一些记录);不知道表达清楚了吗。由于没有相关的经验,请写清楚点,谢谢

解决方案 »

  1.   

    1、写一个函数,返回本地(10.62.162.1)的一个oracle数据表中的符合条件的一个数(或者一些记录);
    1、写一个函数,返回远程(10.62.163.1)的一个oracle数据表中的符合条件的一个数(或者一些记录);1:直接创建函数,返回一个数
    CREATE OR REPLACE FUNCTION A()
    RETURN varchar2
    IS
    V_ret  varchar2(50);
    BEGIN 
    --取得一个数的SQL语句
    select name into v_ret from table;
    return V_ret;
    end;2:首先建立对10.62.163.1远程数据库的访问DBLINK,
    然后访问表@DBLINK名即可,其他没有什么区别
      

  2.   

    写个DBLINK不就行了,用得着这麻烦吗?
      

  3.   

    1、如果要返回一个数据集,可以直接使用sql语句,或使用返回游标的存储过程。
    2、plsql连接10.62.162.1,在10.62.162.1建立一个dblink,如下
     CREATE DATABASE LINK TEST_DBLINK  
      CONNECT TO user_name1 IDENTIFIED BY password1   
     USING '(DESCRIPTION=(ADDRESS_LIST=(ADDRESS=(PROTOCOL=TCP)(HOST=10.62.163.1)(PORT=1521)))(CONNECT_DATA=(SERVER=DEDICATED)(SERVICE_NAME=ORA10G)))';
    红色部分分别是10.62.163.1服务器上的用户名、密码和服务名,改成你自己的即可。
    然使用<表名>@<dblink_name>访问,如:
    select * from test@TEST_DBLINK