首页 > 代码库 > SQL 游标使用实例
SQL 游标使用实例
IF EXISTS(SELECT *FROM sysobjects WHERE name=‘sp_ContestSubmit‘) DROP PROC sp_ContestSubmitGO-- =============================================-- Author: zqt-- Create date: 2011-11-25-- Desc: 系统管理员批量给未交卷的考生交卷-竞赛-- =============================================Create proc sp_ContestSubmit@GroupID int --考核IDas--申明一个游标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,@ExamManageIDWHILE @@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
SQL 游标使用实例
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。