案例:为了给所有参加考试的学生生成一个随机码,用于考试登录。
那么就要遍历表所有的行,为了一个访问数据库就完成工作,我采用了游标来遍历每一行;
功能:根据学号来更新随机码
create proc [dbo].[ResetVlidCode] --过程名
as
begin
declare @code varchar(100) --声明一个变量随机码
declare @studNo varchar(50) --学生学号
Declare row Cursor For --声明游标
row Select StudNo,ValidCode From StudentUser --StudNo,ValidCode 和@studNo,@code对应
Open row //打开游标
Fetch Next From row into @studNo,@code --StudNo,ValidCode 和@studNo,@code对应
While @@FETCH_STATUS = 0 --完成状态
Beginset @code=NEWID() --获得随机码
set @code= substring(@code,1,6) --取得随机码,只取6位数
update StudentUser Set ValidCode = @code where StudNo=@studNo --更新操作
Fetch Next From row into @studNo,@code
EndClose row
Deallocate row
end
下一篇 关于 js 优化的一些经验