Using LASTOID in one query

From: Eckhard Hoeffner <e-hoeffner(at)fifoost(dot)org>
To: SQL PostgreSQL <pgsql-sql(at)postgresql(dot)org>
Subject: Using LASTOID in one query
Date: 2002-05-20 14:08:36
Message-ID: 20020520140835.GA6211@fifoost.org
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-sql

Is there a possibility to use the last OID from PHP within one
query? I have two tables like the following:

table_a:
number1 serial PRIMARY KEY
a_text text

table_b:
number1 integer REFERENCES table_a,
b_text text

I am retrieving data like
a_text = something
b_text = something else

With psql I would do the following:
BEGIN;
INSERT INTO table_a (a_text) VALUES ('something');
INSERT 224490 1
SELECT number1 FROM table_a WHERE oid = 224490;
number1
-------
9
(1 row)
INSERT INTO table_b (number1, b_text) VALUES (9, 'something else');
INSERT 224491 1;
COMMIT;

If I am using php, the only solution I know is:
1. make the first INSERT, execute it
2. get the last oid and make the next query, execute it
3. make the second INSERT

This are 3 queries and I can not do it within a transaction.

--
--//--\\--
Eckhard Hoeffner
e-hoeffner(at)fifoost(dot)org
Tal 44
D-80331 München

Responses

Browse pgsql-sql by date

  From Date Subject
Next Message Joel Burton 2002-05-20 14:24:30 Re: Using LASTOID in one query
Previous Message Oliver Elphick 2002-05-20 07:54:51 Re: A proposal for Interval Math