游标中的每一行都应与另一个表连接,整个结果应返回一个游标
假设cursor1返回5行。 这5行中的每一行都应该与table1连接。 并且所有5行的最终结果应该返回1行。
Plz帮助
答案 0 :(得分:1)
将来自ref游标的读取记录与另一个查询的结果集相结合是相当棘手的。一个更好的想法是使用SELECT连接所有相关表来打开一个引用游标。
答案 1 :(得分:0)
问题不明确,但听起来像你需要的是这样的事情
a)使用结果行的形状定义对象类型 b)定义该对象类型的集合 c)创建一个具有集合类型的返回类型的函数 - 这可以将游标A作为参数(SYS_REFCURSOR),将游标A中的每一行连接到表B,然后对每个结果行使用PIPE ROW。 d)如果需要最终结果作为光标,那么沿着
行的另一个功能 FUNCTION complex_query(in_cursor SYS_REFCURSOR)
RETURN SYS_REFCURSOR
IS
lreturn SYS_REFCURSOR;
BEGIN
OPEN lreturn FOR
(SELECT * FROM TABLE(convert_to_collection(in_cursor)));
RETURN lreturn;
END;
或者,您可以直接执行SELECT * FROM TABLE(convert_to_collection(in_cursor))。
我不明白的是要求所有内容都返回1行。