On 6 May 2002 at 10:51, Joel Burton wrote:
> > But the very idea of inserting the value and then retriving the sequence
> > number sounds fishy to me. Why not get the sequence number first and than
> > insert using that seqnce number (more on the flash tutorial ).
That's pretty standard in a number of database applications (i.e. not just
PostgreSQL situations).
> Hmmm... does nextval() 'hold' a sequence number for this backend?
> Otherwise, the risk would be that you request a value, and someone else has
> beat you to it before you insert it.
I use nextval all the time. In fact:
fp2migration=# \d users
Column | Type | Modifiers
------------+--------------------------+--------------------------
id | integer | not null default nextval('users_id_seq'::text)
What's wrong this this? Nobody is going to "beat me to it".
> In any event, inserting then using currval() is the standard practice
> around here, and it works great. Nothing fishy at all here, nothing to see,
> move on.
Why is that "less risk"?
--
Dan Langille
The FreeBSD Diary - http://freebsddiary.org/ - practical examples