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