Mr_SongAS 2014-11-21 09:10 采纳率: 50%
浏览 9569

mybatis加oracle批量insert中的序列问题,可不可以用union做批量的sql语句--急

<insert id="saveManyPopInfo" parameterType="java.util.List">
    insert into popinfo (popid,popname,remark)
    select seq_popid.nextval,p.* from (
    <foreach collection="list" item="pop" separator="union all">
        select #{pop.popname},#{pop.remark} from dual
    </foreach>
    ) p
</insert>
该代码可以实现批量新增的问题,但是我希望用的是union all的方法,即:
<insert id="saveManyPopInfo" parameterType="java.util.List">
           <!--这里的selectKey 感觉只是执行了一次,因为会报一个叫插入重复的错误-->
    <selectKey keyProperty="p1" order="BEFORE" resultType="int">
        select seq_popid.nextval from dual
    </selectKey>
    insert into popinfo (popid,popname,remark)
    <foreach collection="list" item="pop" separator="union all">
        select #{p1},#{pop.popname},#{pop.remark} from dual
    </foreach>
</insert>
    怎么可以用union all来解决批量新增的问题?
  • 写回答

5条回答

  • Mr_SongAS 2014-11-21 09:11
    关注


    <!--这里的selectKey 感觉只是执行了一次,因为会报一个叫插入重复的错误-->

    select seq_popid.nextval from dual

    insert into popinfo (popid,popname,remark)

    select #{p1},#{pop.popname},#{pop.remark} from dual


    怎么可以用union all来解决批量新增的问题?

    评论

报告相同问题?

悬赏问题

  • ¥15 基于卷积神经网络的声纹识别
  • ¥15 Python中的request,如何使用ssr节点,通过代理requests网页。本人在泰国,需要用大陆ip才能玩网页游戏,合法合规。
  • ¥100 为什么这个恒流源电路不能恒流?
  • ¥15 有偿求跨组件数据流路径图
  • ¥15 写一个方法checkPerson,入参实体类Person,出参布尔值
  • ¥15 我想咨询一下路面纹理三维点云数据处理的一些问题,上传的坐标文件里是怎么对无序点进行编号的,以及xy坐标在处理的时候是进行整体模型分片处理的吗
  • ¥15 CSAPPattacklab
  • ¥15 一直显示正在等待HID—ISP
  • ¥15 Python turtle 画图
  • ¥15 stm32开发clion时遇到的编译问题