ms sql 下批量更新字段信息

来源:互联网 发布:云朵课堂源码 编辑:程序博客网 时间:2024/05/21 10:28

 2个表, ip_list 和 it_audit_checklist  , 表'ip_list'中有字段:ip,user_name,dept,obu,remark,ip和obu为关键字。表'it_audit_checklist'中有字段:ip,obu,user_name,dept,pc_plus_install,ad_install等字段,ip和obu为关键字。  现在要以ip_list表中的内容更新it_audit_checklist表中的相应内容,以关键字ip和obu为基准。有2中方法,如下:

方法1:

declare @ip char(16),@obu char(4),@user_name char(30),@dept char(20),@count int
select *,identity(int,1,1) as sn into #t  --创建临时表't',增加列'sn'表示行号
from ip_list
select @count=max(sn)   --取出最大行号
from #t
while @count>0   --循环从临时表中取出数据并插入到表it_audit_checklist中
begin
 select @ip=ip,@obu=obu,@user_name=user_name,@dept=dept
 from #t
 where sn=@count
 update it_audit_checklist
 set user_name=@user_name,dept=@dept
 where ip=@ip and obu=@obu
 select @count=@count-1
end

方法2:

update  a
set a.user_name=b.user_name,a.dept=b.dept
from ip_list a inner join it_audit_checklist b
on a.ip=b.ip and a.obu=b.obu

方法1是比较传统的做法,方法2就更为简单,明了

原创粉丝点击