概述: 在数据库中字段与上表对应,现需要计算整个表(批量计算)(总计)字段即前几个字段的和,通过存储过程实现,由于计算是在插入数据后,所以我们现在我只能通过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 中用逗号分隔既可
sql 中批量更新或计算某列的值
最新推荐文章于 2024-08-29 12:56:56 发布