试图以my_procedure(DB_LINK)之类的过程通过数据库链接从远程数据库表中获取数据。 如何通过Oracle中的此参数创建游标以与远程数据库连接?
答案 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