【发布时间】:2019-10-15 14:25:21
【问题描述】:
我将 Java 8 与 Spring 的 JdbcTemplate 和 Oracle 12.1 一起使用,
我想更新记录并获取更新记录的确切时间
jdbcTemplate.update(UPDATE_SQL, null);
目前它返回 (int) 受影响的行数,但我想要确切的更新日期
我必须发送一个新请求来获取可能不准确的当前时间吗?
更准确的做法是将更新日期保存在列中,然后执行另一个 SQL
还有其他选项可以在一个查询中获取更新日期吗?
显然,我也不想使用从代码中获取日期(如 new Date()),因为服务器时间是/可以不同于数据库时间
【问题讨论】:
-
如果更新完成,我认为您可以在服务器端自行处理;取当前服务器时间。我相信它可能会相差几毫秒,但这仍然是可行和可接受的。
-
@MohamedSweelam 添加了一条我不想要这种方法的评论,也是因为服务器时间与 DB 时间不同
-
如果您执行
UPDATE TableName SET ColumnName = systimestamp WHERE...,那么您可以运行查询来检索数据库进行更新时的时间戳。 -
@xtratic 是的,我在我的问题中写了它,但我想要 1 个 SQL
-
@user7294900 我的回答中给出的示例
标签: java oracle sql-update jdbctemplate