Oracle,sql server,mysql的批量插入

在使用mybatis进行批量插入时,发现对于使用Oracle的自动增长序列时提示 : 

ORA-02287: 此处不允许序号 的错误,下面的这种使用可以解决问题: 


<!-- oracle批量插入 -->

    <insert id="inserts" parameterType="java.util.List">
       insert into PRESON
        select SEQ_PRESON_ID.NEXTVAL,A.* from(
        <foreach collection="list" item="item" index="index"
            separator="UNION">
            SELECT
            #{item.presonName},
            #{item.presonTel},
            #{item.presonEmail},
            #{item.presonAge}
            from dual 
             </foreach>
        ) A

    </insert>

<!--sql Server批量导入-->

<insert id="importData" parameterType="com.ydtx.bean.pojo.materialsManage.MaterialApplyOutDetail" useGeneratedKeys="true" keyProperty="id">
insert into tb_mtl_Materialapplyoutdetail(applyCode,materialType,material,model,applyNum,unit,remark) 
values
<foreach collection="list" item="item" index="index" separator=",">
(
#{item.applyCode,jdbcType=VARCHAR},
#{item.materialType,jdbcType=VARCHAR},
#{item.material,jdbcType=VARCHAR},
#{item.model,jdbcType=VARCHAR},
#{item.applyNum,jdbcType=DOUBLE},
#{item.unit,jdbcType=VARCHAR},
#{item.remark,jdbcType=VARCHAR}



  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值