From: Tom Lane <tgl@sss.pgh.pa.us>
To: theofilu@eunet.at
Cc: pgsql-interfaces@postgreSQL.org
Subject: Re: [INTERFACES] ecpg and getting just assigned serial number
Date: Sun, 12 Sep 1999 12:01:41 -0400
Message-ID: <2567.937152101@sss.pgh.pa.us> (raw)
In-Reply-To: <199909121425.QAA05055@eunet.at>
theofilu@eunet.at (Theofilu Andreas) writes:
> to Informix's 'esqlc'. However. I have a table with a field of type
> 'serial'. Now I've no problem to insert any sentences into this table, but
> immediately after inserting a new sentence I need the newly assigned number
> to the serial field in the table. How can I access this number?
Postgres doesn't return that number automatically; you'll have to run a
separate query to find out what was inserted. You could do something
like
select serialcolumn from table where oid = NNNN;
since a single-row insert does return the OID of the inserted row.
(Note this will be pretty slow if the table is big and does not have
an index on OID.)
Another possibility is to execute nextval() for yourself and then insert
that result explicitly when you create the row. Still takes two queries,
though.
regards, tom lane
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Reply to all the recipients using the --to and --cc options:
reply via email
To: pgsql-interfaces@postgresql.org
Cc: tgl@sss.pgh.pa.us, theofilu@eunet.at
Subject: Re: [INTERFACES] ecpg and getting just assigned serial number
In-Reply-To: <2567.937152101@sss.pgh.pa.us>
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
This inbox is served by DDX for PostgreSQL; see mirroring instructions
for how to clone and mirror all data and code used for this inbox