sql游标用法_sqlserver游标使用和循环

sql游标用法_sqlserver游标使用和循环SQL 游标使用实例IF EXISTS(SELECT *FROM sysobjects WHERE name=’sp_ContestSubmit’) DROP PROC sp_ContestSubmitGO ====================================

SQL 游标使用实例   IF EXISTS(SELECT *FROM sysobjects WHERE name=’sp_ContestSubmit’) DROP PROC sp_ContestSubmit GO — ============================================= — Author: zqt — Create date: 2011-11-25 — Desc: 系统管理员批量给未交卷的考生交卷-竞赛 — ============================================= Create proc sp_ContestSubmit @GroupID int –考核ID as –申明一个游标 DECLARE MyCursor CURSOR FOR select PK_UserExamID,FK_UserID,FK_ExamOrContestID from Score_UserExam where IsComplete=0 AND FK_ExamOrContestID in(select PK_ContestInfoID from Contest_Info where FK_ContestGroupID=@GroupID) –打开一个游标 OPEN MyCursor –循环一个游标 DECLARE @UserExamID int ,@UserID int ,@ExamManageID int FETCH NEXT FROM MyCursor INTO @UserExamID, @UserID,@ExamManageID WHILE @@FETCH_STATUS =0 BEGIN –考试考试分数 DECLARE @UserExamScore int select @UserExamScore=sum(Score) from Score_UserAnswer where FK_UserID=@UserID AND FK_UserExamID=@UserExamID –修改考生交卷信息 UPDATE [Score_UserExam] SET [Score] =@UserExamScore,[IsComplete] = 1,[EndTime] = getdate(),[DurationSecs] = datediff(ss,BeginTime,getdate()) where PK_UserExamID=@UserExamID FETCH NEXT FROM MyCursor INTO @UserExamID, @UserID,@ExamManageID END –关闭游标 CLOSE MyCursor –释放资源 DEALLOCATE MyCursor /* 测试 exec sp_ContestSubmit 1 */ GO

2024最新激活全家桶教程,稳定运行到2099年,请移步至置顶文章:https://sigusoft.com/99576.html

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。 文章由激活谷谷主-小谷整理,转载请注明出处:https://sigusoft.com/86057.html

(0)
上一篇 2024年 7月 26日
下一篇 2024年 7月 26日

相关推荐

关注微信