创建游标以连接到远程数据库
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
正在尝试通过数据库 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