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

Creating cursor to connect to remote DB

正在尝试通过数据库 link 从远程数据库 table 获取数据,过程类似于 my_procedure (DB_LINK)。 如何在 Oracle 中通过此参数创建游标以连接远程数据库?

我不确定您所问的问题是否符合您描述的方式。 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