oracle 批量插入语句
·
常规sql写法
INSERT ALL
INTO t (a,b) VALUES (1,2)
INTO t (a,b) VALUES (3,4)
SELECT 1 FROM DUAL;
mybatis foreach 写法
<insert id="batchInsert">
INSERT ALL
<foreach collection="list" item="item">
INTO A (
ID,
S_NUM,
OPER_USER,
OPER_DT,
INSERT_DT
) VALUES (
#{item.id},
#{item.sNum},
#{item.operUser},
#{item.openDt},
#{item.insertDt}
)
</foreach>
SELECT 1 FROM DUAL
</insert>
使用oracle序列写法
<insert id="batchInsert" parameterType="java.util.List">
INSERT INTO A(
ID,
S_NUM,
OPER_USER,
OPER_DT,
INSERT_DT
)
SELECT
SEQ_A.NEXTVAL,
t.s_num,
t.oper_user,
t.oper_dt,
t.insert_dt
FROM (
<foreach collection="list" item="item" separator=" UNION ALL ">
SELECT
#{item.sNum, jdbcType=INTEGER} AS s_num,
#{item.operUser, jdbcType=VARCHAR} AS oper_user,
#{item.openDt, jdbcType=DATE} AS oper_dt,
#{item.insertDt, jdbcType=DATE} AS insert_dt
FROM DUAL
</foreach>
) t
</insert>
魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。
更多推荐


所有评论(0)