Thread: set transaction question
Inside a transaction, I insert a row into the table, with an autonumber id. Now I want to return the id of the newly inserted row. How can I do that? It seems that the first insert statement is not committed, and so the second statement couldn't return the newly id. I looked at the set transaction, but it doesn't seem to provide a way to set transaction write committed. Thanks,
> Inside a transaction, > > I insert a row into the table, with an autonumber id. > Now I want to return the id of the newly inserted row. How can I do > that? > > It seems that the first insert statement is not committed, and so the > second statement couldn't return the newly id. SELECT currval('table_field_seq'); should work fine from inside a transaction. The reason is that it retrieves the last value of the sequence that was used by that backend, *not* the last value inserted into the table. Therefore, it doesn't matter whether that value was committed or not. Greg