Oracle 中 insert 同时插入多条数据

Oracle 中 insert 同时插入多条数据

1. 语句

Oracle 与 Mysql 不同. 多条插入命令不一样.

INSERT ALL 
INTO t_table ("col1", "col2", "col3") VALUES ('val1', 'val2', 'val3')
INTO t_table ("col1", "col2", "col3") VALUES ('val1', 'val2', 'val3')
INTO t_table ("col1", "col2", "col3") VALUES ('val1', 'val2', 'val3')
select 1 from dual;
  1. INSERT ALL 开头
  2. select 1 from dual 结尾, 不许含有, 否则会报错缺少 select 关键词. dual 可以替换不是 t_table 的任意一个表.
  3. 没插入的一条语句中间没有 , 符号.

2. Mybatis

	<insert id="insertList" parameterType="java.util.List">
        INSERT ALL 
        <foreach collection="list" index="index" item="item">
            INTO t_table
            ("col1", "col2", "col3")
            VALUES
            (
            	#{item.col1,jdbcType=VARCHAR},
            	#{item.col2,jdbcType=VARCHAR},
            	#{item.col3,jdbcType=VARCHAR}
            )
        </foreach>
        select 1 from dual
    </insert>

猜你喜欢

转载自blog.csdn.net/YKenan/article/details/111262154
今日推荐