ORACLE的批量操作:删除,添加,修改

Posted 嘿;-)翔�

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了ORACLE的批量操作:删除,添加,修改相关的知识,希望对你有一定的参考价值。

https://blog.csdn.net/wei198621/article/details/113681660
https://blog.csdn.net/loongshawn/article/details/50496460
oracle中 数据不能填null,数据操作时必须指定数据类型。否则报无效数据111 的错误
字符串类型的用
在这里插入图片描述
如果po中的参数类型是double 那么请使用
jdbcType=NUMERIC
在这里插入图片描述

批量删除:

方法:
void deleteBatch(@Param("list") List<InvDistributionResultPO> invDistributionResultList);

mapper.xml中的sql:
 <delete id="deleteBatch">
        delete from INV_DISTRIBUTION_RESULT A
        where exists
        (
        select 1 from(
        <foreach collection="list" item="item" index="index" separator="union all">
            select B.* from INV_DISTRIBUTION_RESULT B where 1=1 and
            B.TASK_MASTER_ID = #{item.taskMasterId,jdbcType=VARCHAR} AND
            B.TASK_CHILDREN_ID= #{item.taskChildrenId,jdbcType=VARCHAR} AND
            B.TASK_RESULT_ID= #{item.taskResultId,jdbcType=VARCHAR}
        </foreach>
        )S where A.ID=S.ID
        )
    </delete>

批量添加:

方法:
void insertBatch(@Param("list") List<InvDistributionResultPO> invDistributionResultList);
mapper.xml中的sql
<insert id="insertBatch">
INSERT INTO INV_DISTRIBUTION_RESULT
        (
        <include refid="Base_Column_List"/>
        )

        <foreach collection="list" index="index" item="item" separator="union">
            select
            #{item.id,jdbcType=VARCHAR},
            #{item.taskMasterId,jdbcType=VARCHAR},
            #{item.taskChildrenId,jdbcType=VARCHAR},
            #{item.taskResultId,jdbcType=VARCHAR},
            #{item.sourceTaskId,jdbcType=VARCHAR},
            #{item.queryAvailableId,jdbcType=VARCHAR}
            from dual
        </foreach>
    </insert>

https://www.cnblogs.com/chenjichang/p/13369092.html
https://blog.csdn.net/weixin_42585386/article/details/116596615

批量修改:
https://www.jianshu.com/p/9da667771ccb/

以上是关于ORACLE的批量操作:删除,添加,修改的主要内容,如果未能解决你的问题,请参考以下文章

mysql存储过程怎样批量插入数据

mysql数据库的 alter可否批量操作? 例如批量修改,批量删除这样?求思路,求解.!php!

oracle表批量插入数据

Mybaits的批量操作包括批量删除 批量增加和批量更新

ORACLE 添加删除表字段操作

oracle数据库字段内容如何批量替换?