请问这个批量更新的update的xml语句怎么写?

新手上路,请多包涵

想要批量实现一个更新num的功能
目前想到的是用update case when
这是正常的sql语句

update tb_sku set num = num - #{num} where id = #{id} and num >= #{num}

这是我想实现批量操作的sql语句

update tb_sku set num = case when id = #{id} then num - #{num} end where id in (#{id}) and num >=#{num}

我最后的更新条件num>#{num}怎么操作才能变成批量

阅读 3.3k
3 个回答

单条件怎么批量??
num>(1,2,3,4)这样?

不建议这样写。SQL要越简单越好,能用程序解决的就不要用SQL处理。

注入一个SqlSessionFactory,然后去拿到Session,手动的进行批处理操作,代码里面仍然是for循环一个一个的去修改,这样比单纯的for循环快很多。

推荐问题