Java 获取当前_时间戳作为ResultSet的一部分
除了标识字段之外,还有其他方法可以在Java中检索数据库生成的值吗?我可以很容易地从ResultSet中获取标识值,但我想获取数据库生成的日期字段的值(当前的时间戳)。我不希望发送另一个SELECT查询来获取日期Java 获取当前_时间戳作为ResultSet的一部分,java,sql,sql-server,identity,resultset,Java,Sql,Sql Server,Identity,Resultset,除了标识字段之外,还有其他方法可以在Java中检索数据库生成的值吗?我可以很容易地从ResultSet中获取标识值,但我想获取数据库生成的日期字段的值(当前的时间戳)。我不希望发送另一个SELECT查询来获取日期 statement = connection.prepareStatement("INSERT INTO foo (bar_date) VALUES (CURRENT_TIMESTAMP)"); ResultSet generatedKey = statement.getGenerat
statement = connection.prepareStatement("INSERT INTO foo (bar_date) VALUES (CURRENT_TIMESTAMP)");
ResultSet generatedKey = statement.getGeneratedKeys();
while (generatedKey.next()) {
// read the key..., this unfortunately only returns IDENTITY columns.
}
你试过类似的东西吗
INSERT INTO foo (bar_date)
OUTPUT INSERTED.bar_date
VALUES (CURRENT_TIMESTAMP)
查看一下假设您使用的是SQL 2005或更高版本,您可以在insert语句中添加一个
输出
子句,使其返回一个结果集
我不确定检索resultset的Java语法,但它类似于以下内容:
statement = connection.prepareStatement("INSERT INTO foo OUTPUT inserted.id, inserted.bar_date (bar_date) VALUES (CURRENT_TIMESTAMP)"); //guessing the name of the id column
ResultSet returnSet = statement.execute(); // or however you do this
while (resultset.next()) {
// resultset will have two columns - id and bar_date
}
太好了,很好用。我假设没有独立于数据库的方法来实现这一点。。。(例如