У нас есть абстракция базы данных Java, которая выполняет за нас ряд вставок. Во время выполнения мы будем знать имя таблицы, имена столбцов для вставки и значения. На основе этого мы генерируем подготовленный оператор и выполняем вставку.
В среде SQL Server мы бы добавили select id = @@identity в конец сгенерированного SQL, чтобы получить вновь сгенерированный идентификатор, возвращаемый запросом.
Теперь, когда мы переходим на PostgreSQL, это больше не работает. Насколько я понимаю, в PostgreSQL вы можете сделать:
Код: Выделить всё
insert into foo(a, b) values('a', 'b') returning ID
Наша проблема в том, что во время выполнения мы не знаем ни имени столбца идентификатора, ни имени последовательности. Есть ли способ получить значение вновь вставленной последовательности, не зная имени последовательности или имени столбца?
Подробнее здесь:
https://stackoverflow.com/questions/222 ... -with-jdbc