当我使用以下查询时,它的工作原理.
query = "INSERT INTO MLRL1_PSR_MASTER (PROJECT_ID,FROM_DATE,TO_DATE,TEMPLATE_ID,TEMPLATE_TYPE,UPLOADED_BY,PSR_SLABID) " +
" select '"+projectId+"' , FROM_DATE , TO_DATE,'"+templateId+"','"+tempType+"','"+user.getUserID()+"', "+slabId+
" from MLRL1_PSR_SLABS where SLAB_ID="+slabId+" ";
stmt = connection.prepareStatement(query, new String[] { "ID" });
stmt.executeUpdate();
stmt = connection.prepareStatement(query);
Run Code Online (Sandbox Code Playgroud)
但如果我使用与getGeneratedKeys()相同的查询:
stmt = connection.prepareStatement(query, new String[] { "ID" });
stmt.executeUpdate();
ResultSet rs = stmt.getGeneratedKeys();
while (rs.next()) {
masterId = rs.getInt(1);
}
Run Code Online (Sandbox Code Playgroud)
我收到一个错误
ORA-00933:SQL命令未正确结束
stmt是java.sql.PreparedStatement,遵守守则是1.6和JRE是67年7月1日Oracle驱动程序是odbc6和数据库是Oracle数据库11g企业版发布11.2.0.1.0