7

JDBC Batch Insert ステートメントを使用しているときに、JAVA で return 句を使用して影響を受ける行の値を取得する方法はありますか? 影響を受ける単一行の必要な値を取得できますが、すべてのバッチ挿入ではありませんか?

コード :

try {
    String query = "INSERT INTO temp ( "
                 + "org_node_id, org_node_category_id,  org_node_name, "
                 + "customer_id, created_by, created_date_time, "
                 + "updated_date_time, activation_Status )"
                 + " VALUES (seq_org_node_id.nextval,  11527,  'Abcd',  9756,  1,  sysdate,   sysdate,   'AC')"
    +" returning org_node_id, org_node_name INTO ?, ?";

    con = DBUtils.getOASConnection();

    OraclePreparedStatement ps = (OraclePreparedStatement) con.prepareStatement(query);
    ps.registerReturnParameter(1, Types.INTEGER);
    ps.registerReturnParameter(2, Types.VARCHAR);
    ps.execute();

    ResultSet rs = ps.getReturnResultSet();
    rs.next();

    System.out.println("Org ID : "+ rs.getInt(1));
    System.out.println("Org Name : "+ rs.getString(2));

} catch (SQLException e) {
  e.printStackTrace();
}
4

1 に答える 1