1

次のように、パッケージの関数でカーソルを使用したい:

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: テーブルまたはビューが存在しません".

しかし、実際には、ビューが存在します。

どこに問題があるのか​​わからない。そして、私が言ったようにカーソルを使用してもよいかどうかはわかりません。

4

0 に答える 0