Oracle的批量插入,两种写法

最近用到了Oracle的批量插入,批量插入的效率是真的高。
Oracle的批量插入可以有以下两种:
1、这种可以支持生成ID的写法,注意没有values

<insert id="insertBatchDeliverableSubmit" parameterType="cn.xx.xxx.model.PPAP">
        insert into TABLE_DELIVERABLE_SUBMIT
        (ID,
        PPAPCODE,
        DELIVERABLEID,
        STATUS
        )
        select table_deliverable_submit_sq.NEXTVAL,a.* from(
        <foreach collection="deliverIds" item="did" separator="union all">
            select
            #{ppapCode,jdbcType=VARCHAR},
            #{did,jdbcType=BIGINT},
            '4'
            from dual
        </foreach>
        ) a
    </insert>

2、这种不支持生成ID,不能在id的位置写上SEQ.NEXTVAL。或者你可以单独写insert触发器,注意这个有values。

insert all 
into TABLE_DELIVERABLE_SUBMIT(ID,OTSCODE,DELIVERABLEID,STATUS) values(1,'OTS001',41,'4')
into TABLE_DELIVERABLE_SUBMIT(ID,OTSCODE,DELIVERABLEID,STATUS) values(2,'OTS001',21,'4')
into TABLE_DELIVERABLE_SUBMIT(ID,OTSCODE,DELIVERABLEID,STATUS) values(3,'OTS001',22,'4')
into TABLE_DELIVERABLE_SUBMIT(ID,OTSCODE,DELIVERABLEID,STATUS) values(4,'OTS001',23,'4')
select 1 from dual;
  • 6
    点赞
  • 24
    收藏
    觉得还不错? 一键收藏
  • 5
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值