Postgres 中的游标
Cursors in Postgres
游标是否永久存储在 Postgres 中?我问的原因是我有以下内容:
BEGIN;
DECLARE cpc CURSOR for select * from project.car order by rego, date;
FETCH 1 IN cpc;
CLOSE cpc;
COMMIT;
然后我开始新的交易:
BEGIN;
OPEN cpc;
fetch 1 in cpc;
CLOSE cpc;
COMMIT;
但得到错误:"ERROR: cursor "cpc"不存在SQL状态:34000"。
有没有办法让游标在事务之间持久化?
游标是事务的本地游标,在事务提交或回滚时不复存在。
您可以 declare WITH HOLD
cursors 在提交后保持不变,尽管它们仅在创建它们的会话中保持可见。
游标是否永久存储在 Postgres 中?我问的原因是我有以下内容:
BEGIN;
DECLARE cpc CURSOR for select * from project.car order by rego, date;
FETCH 1 IN cpc;
CLOSE cpc;
COMMIT;
然后我开始新的交易:
BEGIN;
OPEN cpc;
fetch 1 in cpc;
CLOSE cpc;
COMMIT;
但得到错误:"ERROR: cursor "cpc"不存在SQL状态:34000"。
有没有办法让游标在事务之间持久化?
游标是事务的本地游标,在事务提交或回滚时不复存在。
您可以 declare WITH HOLD
cursors 在提交后保持不变,尽管它们仅在创建它们的会话中保持可见。