回答

收藏

JDBC批处理INSERT,返回ID

技术问答 技术问答 187 人阅读 | 0 人回复 | 2023-09-12

用什么方法?RETURNING INTO获得受影响行的值?我必须插入相同的行x然后获得插入线ID。
! Z. F$ D) s2 J查询如下:: u( L  P9 W8 O- o$ i! u0 D" z% w& R, [
public static final String QUERY_FOR_SAVE =        "DECLARE "             " resultId NUMBER ; "          "BEGIN "             " INSERT INTO x "             " (a,b,c,d,e,f,g,h,i,j,k,l,m)  "             " values (sequence.nextVal,:a,:b,:c,:d,:e,:f,:g,:h,:i,:j,:k,:l) "             " RETURNING a INTO :resultId;"          "END;";现在我可以用了addBatch在JAVA这此查询添加到批处理中) k! V3 F# r- t" J7 r
                                                IntStream.range(0,count)                .forEach(index -> {                    try {                        setting parameters...                        cs.addBatch();;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;catch (SQLException e) {                        e.printStackTrace();;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;               });        cs.executeBatch();有没有办法从批处理中返回数组或列表?我只能用sql来执行x但在这种情况下,我仍然想知道如何返回ID数组。, ?/ l( ^4 c# u- o! O
提前致谢& ~$ e* |$ h$ @6 B7 \9 |
                                                                $ `, O) U( C* K" B# ~* |
    解决方案:
分享到:
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则