#java #sql #postgresql #jdbc #jdbi
#java #sql #postgresql #jdbc #jdbi
Вопрос:
Как мне вернуть удаленные строки с помощью jdbi? Например, я хотел бы сделать что-то вроде этого:
public List<User> deleteAndReturnUsers() {
return jdbi.withHandle(handle -> {
return handle.createQuery("DELETE FROM mytable where id = :id")
.bind("id", "someid")
.map(new UserMapper())
.list();
});
}
Ответ №1:
В Postgresql есть returning
ключевое слово…
https://dbfiddle.uk/?rdbms=postgres_13amp;fiddle=25d284309745e40c8ea29945481d1aa2
DELETE FROM data WHERE val >= 2 RETURNING *;
Затем вы можете выполнить этот запрос так же, как и обычный SELECT
оператор, и получить обратно набор результатов; содержащий удаленные записи.