可能重复:
PLSQL JDBC:如何获取最后一行ID?
我从表中获取ID时遇到问题.我有两个表AJPES_TR和TR_LOG,并且TR_LOG表中的PK被设置为AJPES_TR表中的外键.
在TR_LOG表中,我只是编写从哪个文件数据导入,我想将该PK链接到主表.在mySQL中我做得很好getID.last(); int j = getID.getInt(TR_LOG_ID);但是现在在Oracle中这已不再适用了.
这些是我的PreparedStatements:
PreparedStatement insertData =
con.prepareStatement(
"INSERT INTO T_AJPES_TR(rn,sSpre,reg,eno,davcna,Ime,Priimek) VALUES (?,?,?,?,?,?,?)"
);
PreparedStatement select_file_log =
con.prepareStatement("SELECT * FROM T_AJPES_TR_LOG WHERE File_import = ?"
);
PreparedStatement getID = con.prepareStatement("SELECT * FROM T_AJPES_TR_LOG");
PreparedStatement insertFile =
con.prepareStatement(
"INSERT INTO T_AJPES_TR_LOG(Date_import,File_import) VALUES (?,?)"
);
Run Code Online (Sandbox Code Playgroud)
在mySQL中,ID被设置为自动增量.
如何从TR_LOG获取ID值并在AJPES_TR表中写入该值?
Mat*_*tus 12
如果触发器配置为使用序列中的下一个值自动设置主键字段,则可以按如下方式修改INSERT语句:
INSERT INTO table (field1, field2, field3)
VALUES (?, ?, ?)
RETURNING primary_key_field INTO ?
Run Code Online (Sandbox Code Playgroud)
然后,为INSERT添加参数值,在主键的末尾添加输出参数,然后执行查询.
执行查询后,获取输出参数的值.它应该包含primary_key_field的值.
| 归档时间: |
|
| 查看次数: |
22586 次 |
| 最近记录: |