首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 数据库 > 其他数据库 >

怎么得到JDBC Insert 语句执行后插入Oracle 数据库记录的主键

2012-12-23 
如何得到JDBC Insert 语句执行后插入Oracle 数据库记录的主键在应用中,很多时候会对表的主键用一个自动增

如何得到JDBC Insert 语句执行后插入Oracle 数据库记录的主键
在应用中,很多时候会对表的主键用一个自动增涨的数来付值,如Oracle的sequence,插入后又想得到的主键的值。下面介绍一下相关的方法。

1,用Oracle 的returning 语句。

PreparedStatement  sta = conn.prepareStatement("INSERT INTO LOGGING VALUES (TESTSEQ.NEXTVAL,SYSDATE)returning id into ? ");  sta.execute();  ResultSet rset = sta.getResultSet();  while(rset.next())    {      int id = rset.getInt(1);    }


2,用JDBC的getGeneratedKeys,返回的是Oracle 的rowid.

PreparedStatement  sta = conn.prepareStatement("INSERT INTO TESTTABLE VALUES (TESTSEQ.NEXTVAL,'aaaa')",Statement.RETURN_GENERATED_KEYS);  sta.execute();    System.out.println(sta.getGeneratedKeys());  ResultSet rest = sta.getGeneratedKeys();  rest.next();  //oracle rowid  System.out.println(rest.getString(1));

热点排行