From: | "Michael Schmidt" <michaelmschmidt(at)msn(dot)com> |
---|---|
To: | "PostgreSQL JDBC" <pgsql-jdbc(at)postgresql(dot)org> |
Subject: | Help with transactions and FK's |
Date: | 2006-11-13 17:05:57 |
Message-ID: | BAY114-DAV6AA655FD12941EE9D9740A3F40@phx.gbl |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-jdbc |
Folks,
I'm sure this is a basic question, but after reading the PG documentation and some posts on the lists, I still haven't found a solution. So, I hope someone can provide an answer without too much effort.
I have a scientific bibliography database in which a "data item" consists of a parent record with several child and grandchild records, linked with foreign keys. Using my Java front-end and JDBC, I want to insert a new "data item" via a transaction. My thought is to do the following steps:
SET TRANSACTION
insert the parent record
get the parent record primary key with currval() of the primary key sequence
set the child record foreign key value to the value from currval()
insert the child records
COMMIT
roll back on error
for the grandchild records, several currval() calls will be needed. My question is - will currval() provide the correct primary key value for the records inserted in the transaction, or will it provide the value of the sequence at the beginning of the transaction? If the latter, how to proceed?
Thanks for your time.
Michael Schmidt
From | Date | Subject | |
---|---|---|---|
Next Message | Dave Cramer | 2006-11-13 17:24:48 | Re: Help with transactions and FK's |
Previous Message | Kris Jurka | 2006-11-13 06:02:22 | Re: JDBC Support for standard_conforming_strings |