我正在尝试编写一个 pl/sql 函数,它返回一个我可以使用 select 语句检索的结果集表。
这是我到目前为止得到的:
类型参考光标:
CREATE OR REPLACE PACKAGE types
AS
TYPE ref_cursor IS REF CURSOR;
END;
功能:
CREATE OR REPLACE FUNCTION getitems
RETURN types.ref_cursor
AS
mycursor types.ref_cursor;
BEGIN
OPEN mycursor FOR
SELECT myid, myname, mytype
FROM mycategory;
RETURN mycursor;
END getitems;
选择语句:
SELECT getitems() FROM dual;
这几乎是(!)我想要的。现在唯一的问题是 Selecting From dual 在结果集中只有一个条目,这个条目是我真正想要的表。
如何让 select 语句打开外部结果集并只提供内部表,以便我可以沿着内部表游标?