次のように、パッケージの関数でカーソルを使用したい:
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: テーブルまたはビューが存在しません".
しかし、実際には、ビューが存在します。
どこに問題があるのかわからない。そして、私が言ったようにカーソルを使用してもよいかどうかはわかりません。