SQL 分组数据进行批量更新

来源:互联网 发布:nba2k16数据 编辑:程序博客网 时间:2024/06/06 20:20

数据库的人员表中只有岗位名称这个字段,所以需要增加一个岗位编码字段,但是因为数据量大,用case语句操作不合适,最后总结出一下操作:

1、在人员表中新建一个字段

ALTER TABLE HR_USER ADD JOBCODE VARCHAR(20) 

2、根据岗位名称进行分组,使用游标进行批量更新

DECLARE @n int --定义自增变量DECLARE @info varchar(200) --岗位名称DECLARE userCursor CURSOR FOR (SELECT  jobname FROM HR_USER GROUP BY jobname ) --查出岗位名称的集合放到游标中OPEN userCursor FETCH NEXT FROM userCursor into @info --读取第一行数据Set @n = 1000 --岗位编码从1000开始自增WHILE @@FETCH_STATUS = 0  BEGIN            SET @n = @n + 1            UPDATE HR_OA_HRMRESOURCE SET jobtcode = @n where jobtname = @info --根据当前的岗位名称更新岗位编码            FETCH NEXT FROM userCursor into @info --读取下一行数据  ENDCLOSE userCursor DEALLOCATE userCursor GO
原创粉丝点击