Thread: serial type vs. sequences

serial type vs. sequences

From
Suchandra Thapa
Date:
I was wondering if there was a reliable method to get the last id
inserted into a serial column in a table.  I believe previous
recommendations given were to use a sequence, have your app get the
nextval for the sequence and then use that in the insert.  I was
wondering if things had changed or if that is still the recommended
method.

--
Suchandra Thapa <s-thapa-11@alumni.uchicago.edu>

Attachment

Re: serial type vs. sequences

From
Bruno Wolff III
Date:
On Wed, Nov 12, 2003 at 14:59:33 -0600,
  Suchandra Thapa <s-thapa-11@alumni.uchicago.edu> wrote:
> I was wondering if there was a reliable method to get the last id
> inserted into a serial column in a table.  I believe previous
> recommendations given were to use a sequence, have your app get the
> nextval for the sequence and then use that in the insert.  I was
> wondering if things had changed or if that is still the recommended
> method.

It is probably a little better to use currval rather than remembering
what nextval returned in your application.

Re: serial type vs. sequences

From
"Joshua D. Drake"
Date:
You are accurate.

Suchandra Thapa wrote:

>I was wondering if there was a reliable method to get the last id
>inserted into a serial column in a table.  I believe previous
>recommendations given were to use a sequence, have your app get the
>nextval for the sequence and then use that in the insert.  I was
>wondering if things had changed or if that is still the recommended
>method.
>
>
>

--
Command Prompt, Inc., home of Mammoth PostgreSQL - S/ODBC and S/JDBC
Postgresql support, programming shared hosting and dedicated hosting.
+1-503-222-2783 - jd@commandprompt.com - http://www.commandprompt.com
Editor-N-Chief - PostgreSQl.Org - http://www.postgresql.org



Re: serial type vs. sequences

From
Jan Wieck
Date:
Joshua D. Drake wrote:

> You are accurate.
>
> Suchandra Thapa wrote:
>
>>I was wondering if there was a reliable method to get the last id
>>inserted into a serial column in a table.  I believe previous
>>recommendations given were to use a sequence, have your app get the
>>nextval for the sequence and then use that in the insert.  I was
>>wondering if things had changed or if that is still the recommended
>>method.

If you don't need the value itself in your application, it is safe to
use currval('seqname') in queries following the use of
nextval('seqname'). currval() returns the last value assigned in your
session and is not affected by other concurrent transactions.


Jan

--
#======================================================================#
# It's easier to get forgiveness for being wrong than for being right. #
# Let's break this rule - forgive me.                                  #
#================================================== JanWieck@Yahoo.com #