创建光标以连接到远程数据库

时间:2018-08-27 15:13:01

标签: oracle dynamic plsql cursor dblink

试图以my_procedure(DB_LINK)之类的过程通过数据库链接从远程数据库表中获取数据。 如何通过Oracle中的此参数创建游标以与远程数据库连接?

1 个答案:

答案 0 :(得分:1)

我不确定您所问的内容是否可以按照您的描述方式进行。 DB LINK是在数据库级别声明的,我不确定可以直接将其指定为参数。我可能是错的。

通过执行类似的操作,我们在工作中获得了类似的结果:

   -- untested
   PROCEDURE my_procedure(target_db IN VARCHAR2) IS
   BEGIN
      IF target_db = 'database1' THEN
         EXECUTE IMMEDIATE 'UPDATE myTable' || database1_dbLinkName ||
                           ' SET a = b WHERE x = z';
         NULL;
      ELSIF target_db = 'database2' THEN
         -- ...
         NULL;
      END IF;
   END;

我不记得database1_dbLinkName内容的确切语法。我相信这只是“ @yourDbLinkName”。

如果您想了解更多信息,我建议您阅读此页:https://asktom.oracle.com/pls/asktom/f?p=100:11:0::::P11_QUESTION_ID:4410488400346721382