Re: [INTERFACES] JDBC and getting just assigned serial number

From: Herouth Maoz <herouth(at)oumail(dot)openu(dot)ac(dot)il>
To: steinbeck(at)ice(dot)mpg(dot)de, pgsql-interfaces(at)postgreSQL(dot)org
Cc: pgsql-sql(at)postgreSQL(dot)org
Subject: Re: [INTERFACES] JDBC and getting just assigned serial number
Date: 1999-09-22 15:16:36
Message-ID: l03130301b40ea195509c@[147.233.159.109]
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-interfaces pgsql-sql

At 21:19 +0200 on 13/09/1999, Christoph Steinbeck wrote:

> I'm thrilled to see that there is some kind of discussion running in the
> C area on the exact equivalent of my very recent JDBC problem.
> I insert a row into a table where one field is a SERIAL. This SERIAL, of
> course, is automatically assigned by PostgreSQL. How do I get this
> number immeadiately after inserting the row? When I issue the command
> with psql I get back some kind of number which presumably is the OID.
> Getting just this one would be fine too because I need it for
> referencing.

I have answered this question several times already on the SQL list. It has
nothing to do with Java or any other interface you are using (except,
maybe, the question about how to get the OID).

Let's make it short.

1) Don't use OIDs for reference. It will only make life harder.

2) If you want to use the OID just to retrieve that last row, make sure
that the OID column is indexed, otherwise you are in for sequential
searching. See, I told you not to use it...

3) As for the serial field. "serial" is a shorthand notation for
creating an PostgreSQL sequence, and taking the next number from
that sequence. You can see the name of the sequence that was
created with a quick \ds in psql.

Now, after inserting a row, use SELECT currval('sequence_name');
The number returned is the number assigned to the serial number in
the last INSERT statement of the current session.

Herouth

--
Herouth Maoz, Internet developer.
Open University of Israel - Telem project
http://telem.openu.ac.il/~herutma

In response to

Browse pgsql-interfaces by date

  From Date Subject
Next Message Herouth Maoz 1999-09-22 16:06:07 Re: [INTERFACES] Q: Mac: Openlink->Linux: Openlink-PostgreSQL
Previous Message marten 1999-09-22 14:14:15 Re: [INTERFACES] ODBC-Interfaces - connection options ? Error !

Browse pgsql-sql by date

  From Date Subject
Next Message George Moga 1999-09-22 15:37:21 Re: [SQL] Date type select
Previous Message Tom Lane 1999-09-22 15:13:31 Re: [SQL] [GENERAL] UPDATE feature or bug?