【问题标题】:How to return deleted rows using jdbi?如何使用 jdbi 返回已删除的行?
【发布时间】:2021-07-11 14:57:18
【问题描述】:

如何使用 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();
  });
}

【问题讨论】:

    标签: java sql postgresql jdbc jdbi


    【解决方案1】:

    Postgresql 有一个returning 关键字...

    https://dbfiddle.uk/?rdbms=postgres_13&fiddle=25d284309745e40c8ea29945481d1aa2

    DELETE FROM data WHERE val >= 2 RETURNING *;
    

    然后,您可以像执行普通SELECT 语句一样执行该查询,并返回结果集;包含已删除的记录。

    【讨论】:

      猜你喜欢
      • 2017-02-25
      • 1970-01-01
      • 1970-01-01
      • 2023-03-27
      • 1970-01-01
      • 2019-09-12
      • 2022-08-03
      • 2011-06-01
      • 2021-02-10
      相关资源
      最近更新 更多