From: | Haris Peco <snpe(at)snpe(dot)co(dot)yu> |
---|---|
To: | pgsql-general(at)postgresql(dot)org |
Subject: | Re: DECLARE CURSOR |
Date: | 2002-11-18 14:31:34 |
Message-ID: | 200211181431.34259.snpe@snpe.co.yu |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-general pgsql-hackers |
On Monday 18 November 2002 02:27 am, \"Matthew V.\ wrote:
> On Sun, 17 Nov 2002 06:06:05 -0600, snpe wrote:
> > On Sunday 17 November 2002 05:46 am, Frank Miles wrote:
> >> On Sat, 16 Nov 2002, snpe wrote:
> >> > On Saturday 16 November 2002 09:29 pm, Frank Miles wrote:
> >> > > On Fri, 15 Nov 2002, snpe wrote:
> >> > > > Hello,
> >> > > > When I call DECLARE CURSOR out of transaction command success,
> >> > > > but cursor is not created
> >> > > > Reference manual say that this get error :
> >> > > > ERROR: DECLARE CURSOR may only be used in begin/end transaction
> >> > > > blocks I don't find this text in pgsql source code What is
> >> > > > problem ?
> >> > >
> >> > > According to the documentation for DECLARE CURSOR (v.7.2.x):
> >> > >
> >> > > "Cursors are only available in transactions. Use to BEGIN, COMMIT
> >> > > and
> >> > > ROLLBACK to define a transaction block."
> >> > >
> >> > > This seems consistent with your error message. Please try wrapping
> >> > > your DECLARE inside a transaction using BEGIN,...
> >> >
> >> > I understand it.
> >> > I don't understand why 'DECLARE CURSOR' success out of a transaction
> >> > - I expect error
> >>
> >> What version are you using? At least with 7.2.x, there is an immediate
> >> error at the DECLARE statement. Perhaps I am misunderstanding your
> >> question?
> >
> > 7.3b5
> > maybe, it is prepare for cursor out of a transaction (I hope)
>
> I'm getting a little confused, here, reading this. I don't have a BEGIN,
> COMMIT, or ROLLBACK in sight in my ESQL application, but my cursor works
> just fine. Under which circumstances are the BEGIN, COMMIT, and ROLLBACK
> required? Is that something specific to the C interface?
You don't use cursor, probably.
For PostgreSQL cursor is explicit with DECLARE CURSOR in sql command
It is like :
BEGIN;;
..
DECLARE c1 CURSOR FOR SELECT ...;
...
FETCH 1 FROM c1
...
COMMIT;
regards
Haris Peco
From | Date | Subject | |
---|---|---|---|
Next Message | Tom Lane | 2002-11-18 14:38:59 | Re: [GENERAL] DECLARE CURSOR |
Previous Message | Lee Kindness | 2002-11-18 14:19:03 | Retrieve Number of rows to be DELETEd |
From | Date | Subject | |
---|---|---|---|
Next Message | Tom Lane | 2002-11-18 14:35:32 | Re: char(n) to varchar or text conversion should strip trailing spaces |
Previous Message | snpe | 2002-11-18 13:08:12 | Re: [GENERAL] DECLARE CURSOR |