Why you discuss it????
The problem is quite clean and it was solvev many years ago.....


1. Get the *next* sequence value:
select nextval("gogo_seq");
2. Store it into a variable (for example $X)
3. Insert proper data (and and sequence value)
insert into gogo values( $X, 'NMMM', 'mailto:[EMAIL PROTECTED]');
4. Use value $X, as u want
insert into gogo_detail values( $X, 'bla bla0');
insert into gogo_detail values( $X, 'bla bla1');
insert into gogo_detail values( $X, 'bla bla2');

Am I clear?

nmmm
--------------------------------------------------------------
The reboots are for hardware upgrades!
"http://www.nmmm.nu; <[EMAIL PROTECTED]>

----- Original Message -----
From: Adriaan Joubert <[EMAIL PROTECTED]>
Cc: Dev Elop <[EMAIL PROTECTED]>; pgsql-general
<[EMAIL PROTECTED]>
Sent: 09 Декември 1999 г. 15:22
Subject: Re: [GENERAL] get the previous assigned sequence value


> > > With this second method, you'd probably need to beware race
conditions. If
> > > another process inserts a record into mytable after you do but before
you
> > > call currval(), then you'll get the wrong value.
> > >
> > > Not an issue if you've only got one process accessing the table -
probably
> > > is one if you have two or more.
> >
> > I don't think that's true the currval belongs to the process (as it
were)
> > so that what happens is that currval remains unchanged by inserts by
other
> > processes.
> >
> > nextval however is 'affected' meaning that nextval won't just return
> > curval+1, it returns whatever the next sequence item is taking into
> > account the increasses caused by other processes.
> >
> > at least I seem to remember that from previous postings... any
seconders?
>
>
> currval always gives you the most recent sequence value returned by your
> own back-end, so that it is not affected by waht other processes do.
> With nextval it also depends on what cache size you chose. If youchose
> 1, the default, nextval is directly affected by whether other processes
> have doena  nextval. If the caches is larger this is not necessarily the
> case.
>
> Adriaan
>
> ************



************

Reply via email to