<分区>
有什么方法可以从最后插入的行中获取值吗?
我正在插入一行,其中 PK 将由于创建的序列而自动增加,我想获得这个序列号。只保证PK在表中唯一。
我将 Java 与 JDBC 和 Oracle 一起使用。
我忘了补充一点,我想使用下面的结果集检索这个值。 (我已经用 mysql 试过了,它成功地工作了,但我不得不切换到 Oracle,现在我得到了 ID 的字符串表示,而不是实际的序列号)
Statement stmt = conn.createStatement();
stmt.executeUpdate(insertCmd, Statement.RETURN_GENERATED_KEYS);
stmt.RETURN_GENERATED_KEYS;
ResultSet rs = stmt.getGeneratedKeys();
if(rs.next()){
log.info("Successful insert");
id = rs.getString(1);
}
上面的代码片段将返回存储在 mysql 表中的列 int 值。但是自从我切换到 Oracle 后,返回的值现在是一个奇怪的字符串值。