这个我明白,我的意思就是我用类似的sql语句通用事务一次性更新了一个表的很多行数据,同时要跨表更新
订单累计表中的累计数量,
比如一个事务中有多个如下的更新语句:
update 订单 se t 数量 = 数量 + 本次变动增量 where 订单编号 = 1
update 订单 se t 数量 = 数量 + 本次变动增量 where 订单编号 = 2
。。。。。
要怎么样才能将这些变动统一保存到一个结果集例如“合成表b”中,这样就可以用
update a.累计数量 = a.累计数量 + b.本次变动增量 from 订单累计表 a inner join 合成表 b
where a.订单编号 in (se lect distinct 订单编号 from 合成表 b)
一次就可以更新订单累计表中的数据。
否则我现在只能用
update 订单 se t 数量 = 数量 + 本次变动增量 where 订单编号 = 1
update 订单累计表 se t 累计数量 = 累计数量 + 本次变动量 where 订单编号 = 1
update 订单 se t 数量 = 数量 + 本次变动增量 where 订单编号 = 2
update 订单累计表 se t 累计数量 = 累计数量 + 本次变动量 where 订单编号 = 2
.......
这样每个更新语句就要去写一个对应的跨表更新语句,效率是不是比前种方式低很多