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