2

私はpgカーソルを初めて使用します。ここにカーソルがあります:

create function simplecur() returns refcursor as $$
declare 
    abc cursor for 
    select t.registrant, u.display_name from incident_info t, sys_user u
    where t.registrant != 10000000 and u.id = t.registrant
    group by t.registrant, u.display_name
    order by t.registrant ;
begin
    open abc;
    return abc;
end
$$language plpgsql;

私は単に使用します

select simplecur()

戻ります

abc

今、知りたいのですが、使用すると、SQLの結果をどのように取得できますか

fetch all from abc;

次のように表示されます。

ERROR:  cursor "abc" does not exist
4

1 に答える 1

1

カーソル変数を使用している場合は、開いているトランザクションが必要です。

begin;
  select simplecur();
  fetch all in abc;
commit;

別のSOの

于 2012-08-01T05:09:02.757 に答える