是否有可能在oracle中使用DBLINK调用函数?我打电话这样的功能,并收到错误 - ORA-00904: “MC” “GET_REFTYPES”:无效的标识符如何在oracle中使用dblink调用函数?
select column_value from table([email protected]_MAIN_MCNAV(param1, param2, param3)));
功能代码
CREATE OR REPLACE FUNCTION "MC"."Get_REFTYPES"(
param1 IN VARCHAR,
param2 IN NUMBER,
param3 IN DATE DEFAULT SYSDATE
)
RETURN RefType_T PIPELINED IS
CURSOR cur_st (
cur_param1 VARCHAR,
cur_param2 NUMBER,
cur_param3 DATE
) IS
select
TypeID
FROM ......
WHERE......... ;
t_st Types_T; -- Table variable to store return values
BEGIN
OPEN cur_st(param1, param2 , param3);
FETCH cur_st BULK COLLECT INTO t_st;
CLOSE cur_st;
FOR i IN 1..t_st.COUNT LOOP
PIPE ROW(t_st(i));
END LOOP;
RETURN;
END;
谢谢!
2016-03-08
Kaur
+0
是的......但我不明白在这个select语句中如何使用这个函数。 “从桌子上......”在哪里做的功能是什么,有,按组还是选择?你期望这个函数返回什么结果,查询如何使用它?作为限制,展示什么?另外,我看到打开('s和3关闭)' –
+0
'mc'是模式还是包?如果它是一个模式,数据库链接连接的用户是什么,如果不是'mc',那么这个用户是否拥有该功能的权限?函数返回什么数据类型 - 接下来可能会遇到[此问题](http://stackoverflow.com/a/7246141/266304)。实际上,这可能是这个问题的重复... –
+0
@Alex Poole mc是一个模式,我确实可以完全访问它和函数,因为第二个问题我可能会得到错误。该函数看起来像这样 - –