Oracle批量插入

注意:与MySQL不同!

方式一

insert all into table(...) values(...) into table(...) values(...) select * from dual;

sql 复制代码
<insert id="addList" parameterType="java.util.List" useGeneratedKeys="false">
        INSERT ALL
        <foreach item="item" index="index" collection="list">
        INTO T_APPLAUD
        (
            ID,
            USER_ID,
            BUSINESS_TYPE,
            PRODUCT_ID,
            CREATE_TIME
        ) VALUES
        (
            #{item.id, jdbcType=NUMERIC},
            #{item.userId, jdbcType=VARCHAR},
            #{item.businessType, jdbcType=VARCHAR},
            #{item.productId, jdbcType=VARCHAR},
            #{item.createdTime, jdbcType=NUMERIC}
        )
        </foreach>
        SELECT 1 FROM DUAL
    </insert>

举例:

INSERT ALL

INTO tableName (column1, column2, column_n) VALUES (expr1, expr2, expr_n)

INTO tableName (column1, column2, column_n) VALUES (expr1, expr2, expr_n)

INTO tableName (column1, column2, column_n) VALUES (expr1, expr2, expr_n)

SELECT count(*) FROM dual;

【注】:查询语句"SELECT count(*) FROM dual;"不能少,需要一条查询语句,查询结果不重要。

方式二

insert into table(...) (select ... from dual) union all (select ... from dual)

sql 复制代码
<insert id="addList" parameterType="java.util.List" useGeneratedKeys="false">
        INSERT INTO T_APPLAUD
        (
            ID,
            USER_ID,
            BUSINESS_TYPE,
            PRODUCT_ID,
            CREATE_TIME
        )
        <foreach item="item" index="index" collection="list" separator="union all">
        (
            SELECT
                #{item.id},
                #{item.userId},
                #{item.businessType},
                #{item.productId},
                #{item.createdTime}
            FROM DUAL
        )
        </foreach>
    </insert>

转自:https://www.cnblogs.com/format-ch/p/14845958.html

相关推荐
未来之窗软件服务1 小时前
solidwors插件 开发————仙盟创梦IDE
前端·javascript·数据库·ide·仙盟创梦ide
yc_12241 小时前
SqlHelper 实现类,支持多数据库,提供异步操作、自动重试、事务、存储过程、分页、缓存等功能。
数据库·c#
Leo.yuan2 小时前
基于地图的数据可视化:解锁地理数据的真正价值
大数据·数据库·信息可视化·数据挖掘·数据分析
好吃的肘子2 小时前
MongoDB入门
数据库·mongodb
noravinsc2 小时前
人大金仓数据库 与django结合
数据库·python·django
代码配咖啡3 小时前
《Navicat之外的新选择:实测支持国产数据库的SQLynx核心功能解析》
数据库
懒大王爱吃狼3 小时前
怎么使用python进行PostgreSQL 数据库连接?
数据库·python·postgresql
时序数据说3 小时前
IoTDB集群的一键启停功能详解
大数据·数据库·开源·时序数据库·iotdb
小叶子来了啊3 小时前
信息系统运行管理员:临阵磨枪版
运维·服务器·数据库
数据库幼崽4 小时前
MySQL 8.0 OCP 1Z0-908 131-140题
数据库·mysql·ocp