案例:為了給所有參加考試的學生生成一個隨機碼,用于考試登錄。
那么就要遍歷表所有的行,為了一個訪問數據庫就完成工作,我采用了游標來遍歷每一行;
功能:根據學號來更新隨機碼
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 優化的一些經驗