请问这个批量更新的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.2k
3 个回答

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

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

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

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题