您的位置:首页 > 数据库

ms sql 下批量更新字段信息

2008-01-09 12:44 232 查看
 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就更为简单,明了
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  sql user list join