On 5 January 2011 15:28, RadosÅaw Smogura <rsmogura@xxxxxxxxxxxxxxx> wrote:
On Wed, 05 Jan 2011 21:50:11 +1100, Craig Ringer <craig@xxxxxxxxxxxxxxxxxxxxx> wrote:I mean situation, when You create e.g. in one transaction, book and chapters, in some way You need retrieve book's id, by returning clause of insert, or by obtaining id form sequence.
On 01/05/2011 07:31 PM, RadosÅaw Smogura wrote:
* you have your id, before executing query, (in contrast to all this
autoincrement) so you may put it in dependant rows
Do you mean that with a UUID, you don't need to talk to the database
at all, you can generate an ID with no interaction with / involvement
with the database at all? Because other than that, there's not much
difference in how you normally work with them.
With a sequence, you might:
CREATE SEQUENCE x_id_seq;
CREATE TABLE x (
 Âid integer PRIMIARY KEY DEFAULT nextval('x_id_seq'),
 Ây integer
);
INSERT INTO x(y) VALUES (1);
It's simpler to write:
book_id = new uuid();
insert into book values(book_id,....);
insert into chapters values(new uuid(), book_id, ...);
isn't it?
For me it is simpler just to write this:
bookid = insert into books(...) values(...) returning book_id;
insert into chapters(book_id, ...) values( bookid, ...);
but it's a matter of taste, I think.
regards
Szymon