Java 容错jdbcTemplate.batchUpdate(当重复密钥时)

Java 容错jdbcTemplate.batchUpdate(当重复密钥时),java,spring-boot,jdbc,jdbctemplate,Java,Spring Boot,Jdbc,Jdbctemplate,我有一个SQL,它获取大量行,然后在一次迭代中插入到数据库中 插入摘要 (名称、开始日期、结束日期、初始大小、已完成、剩余) 挑选 (Status.Type+''+Status.Generic)作为 名称,日期添加(日期-28,Status.Pat2)作为开始日期, DATEADD(day,1,Status.Pat2)作为结束日期,COUNT(*)作为结束日期 InitialSize,SUM(Status.sw='Y'然后为1或0时的情况) 结束)完成时,求和(Status.sw='Y'然后为0

我有一个SQL,它获取大量行,然后在一次迭代中插入到数据库中

插入摘要 (名称、开始日期、结束日期、初始大小、已完成、剩余) 挑选 (Status.Type+''+Status.Generic)作为 名称,日期添加(日期-28,Status.Pat2)作为开始日期, DATEADD(day,1,Status.Pat2)作为结束日期,COUNT(*)作为结束日期 InitialSize,SUM(Status.sw='Y'然后为1或0时的情况) 结束)完成时,求和(Status.sw='Y'然后为0时的情况 除此之外,1)结束)作为从

如何使其具有容错性?这意味着如果由于重复键(列名)而出现异常,则insert将在没有重复行的情况下继续


谢谢你

哪种RDBMS…?我使用的是SQL Server在几种RDBMS中都有优雅的解决方案(如果你愿意,也可以是变通方案)。在MySQL中可以使用,在Oracle中可以使用,但在SQL Server中必须使用子查询来消除现有密钥,或者切换到
MERGE
语句-请参阅讨论谢谢您的帮助
jdbcTemplate.batchUpdate(sql);