您的位置:首页 > 数据库

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

2010-05-04 09:44 204 查看




概述: 在数据库中字段与上表对应,现需要计算整个表(批量计算)(总计)字段即前几个字段的和,通过存储过程实现,由于计算是在插入数据后,所以我们现在我只能通过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 中用逗号分隔既可
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: