使用SQL Server游标循环根据用户身份证后六位修改成密码


  declare @sPassword varchar(200)
  DECLARE My_Cursor CURSOR --定义游标
FOR (select PersonnelCard from tb_User) --查出需要的集合放到游标中
OPEN My_Cursor; --打开游标
FETCH NEXT FROM My_Cursor into @sPassword; --读取第一行数据
WHILE @@FETCH_STATUS = 0
    BEGIN
       UPDATE tb_User SET sPassWord = UPPER(RIGHT(sys.fn_varbintohexstr(HASHBYTES('MD5',right(@sPassword,6))),32)) WHERE CURRENT OF My_Cursor; --更新
 
        FETCH NEXT FROM My_Cursor into @sPassword; --读取下一行数据
    END
CLOSE My_Cursor; --关闭游标
DEALLOCATE My_Cursor; --释放游标
GO

相关