我想在包的函数中使用光标,如下所示:
PACKAGE PKG
AS
TYPE RESULT_T
IS
TABLE OF varchar2(30);
FUNCTION GENERATEF
RETURN RESULT_T PIPELINED;
END PKG;
/
create or replace
PACKAGE BODY PKG
AS
FUNCTION GENERATEF
RETURN RESULT_T PIPELINED
IS
BEGIN
FOR TLC IN (select name from users)
LOOP
PIPE ROW(TLC.name);
END LOOP;
RETURN;
END;
END PKG;
/
SELECT * FROM TABLE(PKG.GENERATEF);
我认为现在问题集中在
上select name from users
因为我使用
select sysdate from dual
该功能运作良好。
如果我想从其他VIEW中提取数据,则会出现如下错误:
错误(7,45):PL / SQL:ORA-00942:表或视图不存在“。
但实际上,观点存在。
我不知道问题出在哪里。而且我不确定是否可以像我提到的那样使用光标。