scott.marlowe@ihs.com ("scott.marlowe") wrote in message
news:<Pine.LNX.4.33.0211211450100.23804-100000@css120.ihs.com>...
> On 21 Nov 2002, Rod Taylor wrote:
>
> > On Thu, 2002-11-21 at 15:09, scott.marlowe wrote:
> > > On 21 Nov 2002, Rod Taylor wrote:
> > >
> > > > On Thu, 2002-11-21 at 14:11, Bruce Momjian wrote:
> > > > > Of course, those would be SQL purists who _don't_ understand
> > > > > concurrency issues. ;-)
> > > >
> > > > Or they're the kind that locks the entire table for any given insert.
> > >
> > > Isn't that what Bruce just said? ;^)
> >
> > I suppose so. I took what Bruce said to be that multiple users could
> > get the same ID.
> >
> > I keep having developers want to make their own table for a sequence,
> > then use id = id + 1 -- so they hold a lock on it for the duration of
> > the transaction.
>
> I was just funnin' with ya, but the point behind it was that either way
> (with or without a lock) that using something other than a sequence is
> probably a bad idea. Either way, under parallel load, you have data
> consistency issues, or you have poor performance issues.
>
>
I'm not familiar with these "SQL purists" (perhaps the reference is to
J. Celko?) but the fact is that it's hard to call SEQUENCE
product-specific now that it's in Oracle, DB2, and SQL:2003. The
syntaxes do differ a little, usually due to choice of abbreviation,
but as far as I can tell the internals are similar across
implementations.
Peter Gulutzan
Author of "Sequences And Identity Columns"
(http://dbazine.com/gulutzan4.html)