游标是否永久存储在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;

但是得到错误:“错误:光标”CPC“不存在SQL状态:34000”。
是否有方法在事务之间持久化游标?

最佳答案

游标是事务的本地事务,当事务提交或回滚时,游标不再存在。
可以在提交后持久化的declare WITH HOLD cursors,尽管它们只在创建它们的会话中保持可见。

关于postgresql - Postgres中的游标,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/29620764/

10-09 01:50