From: | Michael J Davis <michael(dot)j(dot)davis(at)tvguide(dot)com> |
---|---|
To: | "'Herouth Maoz'" <herouth(at)oumail(dot)openu(dot)ac(dot)il>, emils(at)mail(dot)usis(dot)bkc(dot)lv, pgsql-sql(at)postgreSQL(dot)org |
Subject: | RE: [SQL] Getting primary key from insert statement |
Date: | 1999-06-07 20:10:26 |
Message-ID: | 93C04F1F5173D211A27900105AA8FCFC14557B@lambic.prevuenet.com |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-sql |
I have been using this technique for years in Oracle (select next value from
the primary key sequence and insert using this primary key). I like this
approach. I don't think a transaction is needed. Access97 definitely likes
this approach better because it wants to reselect the newly inserted record.
Without the primary key in the insert statement, the re-select can be very
slow and potentially fail because the re-select is only using values
provided in the insert statement. Retrieving the primary key after the
insert does not help Access97.
> -----Original Message-----
> From: Herouth Maoz [SMTP:herouth(at)oumail(dot)openu(dot)ac(dot)il]
> Sent: Monday, June 07, 1999 1:29 AM
> To: emils(at)mail(dot)usis(dot)bkc(dot)lv; pgsql-sql(at)postgreSQL(dot)org
> Subject: Re: [SQL] Getting primary key from insert statement
>
> At 12:51 +0300 on 07/06/1999, Emils Klotins wrote:
>
>
> >
> > Wouldn't it be simpler just to SELECT the next value from the sequence
> >BEFORE the insert and
> > use it in the INSERT statement directly?
>
> Then you have to have a transaction around the two operations. And by the
> time you do the select, someone may lock the table where you insert. It's
> a
> potential for deadlock.
>
> Herouth
>
> --
> Herouth Maoz, Internet developer.
> Open University of Israel - Telem project
> http://telem.openu.ac.il/~herutma
>
>
From | Date | Subject | |
---|---|---|---|
Next Message | Jackson, DeJuan | 1999-06-07 21:29:32 | RE: [SQL] Slashdot Query |
Previous Message | Emils Klotins | 1999-06-07 09:51:06 | Re: [SQL] Getting primary key from insert statement |