很急的一个问题!JAVA中向ORACLE同时插入2个表,怎么获取第一个表的主键!
来源:百度知道 编辑:UC知道 时间:2024/06/10 21:31:25
我现在要同时插2个表,手动提交。第二个表里要第一个表的主键。怎么实现?
我现在的方法是ResultSet rsKey=pstmt.getGeneratedKeys()
rsKey.next();int id=rsKey.getInt(1)
但是问题出来了,ORACLE中 getGeneratedKeys() 没有拿到sequence 的nextval 所以现在求由什么办法可以 获取第一个表的主键?
我现在的方法是ResultSet rsKey=pstmt.getGeneratedKeys()
rsKey.next();int id=rsKey.getInt(1)
但是问题出来了,ORACLE中 getGeneratedKeys() 没有拿到sequence 的nextval 所以现在求由什么办法可以 获取第一个表的主键?
select (sequence名称).nextval from dual 获取序列
赋给一个java变量,就可以用了。
首先使用 select sequence.nextval from dual 获取序列
然后用获取的序列值作为第一个表的primarykey,比如
"insert into table1(id,temp1,temp2) values("+序列值+",?,?)"
一切ok.
你的sequnce单独运行,赋给一个java变量。