oracle 存储过程中使用dblink

需要在两个数据库之间同步数据,因此在一段数据库上做了一个dblink,用存储过程使用dblink的表,把数据跟新到本地同时更新远程数据库的表,但是在存储过程中遇到的问题是:

  CURSOR c1 is select * from dblinkTableName;这句话总是提示表或视图不存在,因此我是百思不得其解,最后研究了半天找到了三种方法解决此问题

1.用动态游标

strSql1:='select stu_name from dblinkTableName@dblinkName;

OPEN CUR FOR strSql1;

2.使用视图

为远程的表创建视图:CURSOR c1 is select * from View_TableName;

3.最简单的方法

CURSOR c1 is select * from dblinkTableName;改为CURSOR c1 is select * from dblinkUser.dblinkTableName@dbLinkName;

 

次问题解决

你可能感兴趣的:(oracle 存储过程中使用dblink)