DECLARE cur CURSOR with hold FOR SELECT * FROM t; the "with hold" is designed for this purpose. sorry for this interruption.
On Sun, Mar 10, 2019 at 4:14 PM Andy Fan <zhihui.fan1...@gmail.com> wrote: > for example: > begin; > declare cur cursor for select * from t; > insert into t2 values(...); > fetch next cur; > commit; > > // after this, I can't fetch cur any more. > > My question are: > 1. Is this must in principle? or it is easy to implement as this in PG? > 2. Any bad thing would happen if I keep the named portal (for the cursor) > available even the transaction is commit, so that I can fetch the cursor > after the transaction is committed? > > Thanks >