私の頭の中で、私は次のようなものを呼び出すような関数を書いています
select get_foo() from dual;
また
select * from table (get_foo);
と同じ結果を返します
select * from foo;
だから、私はコンパイルする関数を持っています...
create or replace function get_foo return sys_refcursor as
rc_foo sys_refcursor;
begin
open rc_foo for 'select * from foo';
return rc_foo;
end;
ただし、デュアルからget_foo()を選択すると、1行が返されます。
((ID=1,NAME=Sarah1),(ID=2,NAME=Sarah2),(ID=3,NAME=Sarah3),)
select * from table(get_foo())はORA-22905を返します。
関数の定義や呼び出しを変更して、目的の結果を得るにはどうすればよいですか?