From: | "Robert B(dot) Easter" <reaster(at)comptechnews(dot)com> |
---|---|
To: | "Lea, Michael" <MLea(at)mpi(dot)mb(dot)ca>, "'pgsql-sql(at)postgresql(dot)org'" <pgsql-sql(at)postgresql(dot)org> |
Subject: | Re: retrieving a serial number |
Date: | 2000-06-28 20:12:38 |
Message-ID: | 00062816190002.00209@comptechnews |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-sql |
You can do something like this:
$var = SELECT nextval('seq_name');
INSERT INTO master (id, ...) VALUES ($var, ...);
INSERT INTO slave1 (id, ...) VALUES ($var, ...);
...
You can do a \d master, in psql to find out the name of the sequence. For
the SERIAL type, nextval('seq_name') is just its default anyway.
On Wed, 28 Jun 2000, Lea, Michael wrote:
> I have one table (call it "master") that, among other things, contains a
> serial number. I have a number of other tables (call them "slaves") that,
> among other things, contain a foreign key referring to the serial number in
> the first table. I will be inserting one row into the master table, and one
> row into zero or more slave tables in each transaction.
>
> What I want to do is use a sequence in the master table to let PostgreSQL
> automatically generate a unique serial number for me, but I need to know the
> serial number in order to insert the corresponding rows into the slave
> table(s). Is there any way of retrieving the serial number that will be used
> before the transaction has been committed? Or will I have to generate my own
> serial numbers?
>
> Michael Lea
> Information Security
> Manitoba Public Insurance
> Phone: (204) 985-8224
--
Robert B. Easter
From | Date | Subject | |
---|---|---|---|
Next Message | Patrick Coulombe | 2000-06-28 20:21:40 | temporay table : error is repeated. |
Previous Message | Brian Powell | 2000-06-28 19:58:33 | Backup of BLOBS |