需要在两个数据库之间同步数据,因此在一段数据库上做了一个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;
次问题解决
本文介绍了解决在使用DBLink时遇到的表或视图不存在问题的三种方法,包括使用动态游标、创建视图以及直接指定远程表的方式。
8057





