【问题标题】:when should i use fetch keyword in postgresql我什么时候应该在 postgresql 中使用 fetch 关键字
【发布时间】:2012-08-01 04:20:05
【问题描述】:

我是 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

【问题讨论】:

    标签: sql postgresql cursor plpgsql


    【解决方案1】:

    使用游标变量时需要an open transaction

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

    另一个 SO example.

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2010-09-09
      • 1970-01-01
      • 2011-06-30
      • 2012-12-23
      • 2021-07-13
      • 2019-10-11
      • 1970-01-01
      相关资源
      最近更新 更多