DataBase/MS-SQL
CURSOR
체크개발자
2014. 4. 4. 17:08
CURSOR 기본 구조
DECLARE
OPEN
FETCH
CLOSE
DECLARE 등수처리 CURSOR
FOR SELECT 번호, 점수 FROM 성적3
OPEN 등수처리
DECLARE @번호 INT, @점수 INT
FETCH NEXT FROM 등수처리 INTO @번호, @점수
WHILE @@FETCH_STATUS = 0 -- 포인터가 커서안에 있을때
BEGIN
UPDATE 성적3
SET 등수 = 1 +( SELECT COUNT(*) FROM 성적3 WHERE 점수 >@점수)
WHERE 번호 = @번호
FETCH NEXT FROM 등수처리 INTO @번호, @점수
END
CLOSE 등수처리
DEALLOCATE 등수처리