Oracle 如何在返回select cursor的存储过程中调用其他数据库函数

Oracle 如何在返回select cursor的存储过程中调用其他数据库函数,oracle,oracle11g,Oracle,Oracle11g,这里我有两个数据库,DB1和DB2。从DB2过程中,我想调用一个DB1函数,如下所示 OPEN cur FOR SELECT TO_CHAR(TRANSACTION_DATE,'DD MM YYYY') as DATE_UTC, TO_CHAR(TRANSACTION_DATE,'HH24:MI:SS') as TIME_UTC, IP_ADDRESS, (TRANSACTION_DATE + (UTC_TIMESTAMP(

这里我有两个数据库,DB1和DB2。从DB2过程中,我想调用一个DB1函数,如下所示

OPEN cur FOR 
  SELECT 
        TO_CHAR(TRANSACTION_DATE,'DD MM YYYY') as DATE_UTC,
        TO_CHAR(TRANSACTION_DATE,'HH24:MI:SS') as TIME_UTC,
        IP_ADDRESS,
        (TRANSACTION_DATE + (UTC_TIMESTAMP() - SYSTIMESTAMP)) as Local_Time,
        ID,
        (select DB1.GET_NAME(12) from dual) as TEST_NAME;
当我从Oracle SQL工作表调用它时,它正在工作;但当我们在游标中调用它时,它不起作用

在返回光标时,我尝试了以下两种方法:

选择DB1.GET_NAME12作为测试名称; DB1.GET_NAME 12作为测试_NAME;
请任何人帮助解决此问题。

什么是不工作?有错误吗?如果是,哪一个?另外,您确定这些是数据库而不是模式吗?因为,您当然不能引用另一个数据库对象,因为您需要一个数据库链接,但是-从另一个模式,是的。此外,您是否直接(即不是通过角色)将特权从DB1授予DB2?如果不是,您应该有。@Littlefoot not working表示游标在test_name列中返回空数据,但当我调用DB2SQL工作表时,它返回的是值