sql 中批量更新或计算某列的值





概述: 在数据库中字段与上表对应,现需要计算整个表(批量计算)(总计)字段即前几个字段的和,通过存储过程实现,由于计算是在插入数据后,所以我们现在我只能通过update 语句实现总计字段的计算。 实现思路,先将总计列通过select 语句计算出来,然后生成一个临时表,然后通过临时表来更新原表,通过编号列(数据库中的ID字段)来标示要更新的行。
具体sql语句如下:
(思想分,劳动分,下井分,技术分,责任分,总计)对应数据库字段(PD1,PD2,PD3,PD4,PD5,PDZF)

create procedure dbo.[sum]--创建sum 存储过程
as

--创建临时表(#kh ) select into语法
select ID, PD1+PD2+PD3+PD4+PD5 as'总计'
into  #临时表名//#代表本地临时表
from  原表名
--根据临时表中的内容更新原表
update  原表名 set PDZF =(select 临时表.总计 from 临时表 where  临时表.ID =原表.ID)

这样既可实现批量计算多条记录的总计字段
如果,还有需要计算的字段,分别在select 和 update 中用逗号分隔既可

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值