У меня есть таблица postgres, как это:
CREATE SEQUENCE seq;
CREATE TABLE tbl (id INTEGER DEFAULT VALUE nextval('seq'), data VARCHAR);
Когда я вставляю в таблицу:
INSERT INTO tbl (data) VALUES ('something');
Как мне вернуть значение поля id для только что созданной записи?
(Обратите внимание, возможно, я немного отключил синтаксис SQL; суть должна быть ясной)
Предположим, что я не могу вызвать currval в одном сеансе, потому что я не контролирую границы транзакций. Я мог бы работать в том же сеансе со своим следующим вызовом, но я тоже не могу.