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的批量操作:删除,添加,修改的主要内容,如果未能解决你的问题,请参考以下文章