커서 (CURSOR)

 

 MSSQL 에서 cursor란 테이블에서 여러 개의 행을 쿼리한 후 쿼리의 결과인 행 집합을 한 행씩 처리하는 방법이다. 즉, 1단계 커서로 테이블에서 데이터를 지정하고, 2단계 정의한 쿼리로 행을 하나 씩 수행한다.

 

우선 테스트할 테이블을 생성한다.

TB_FRIEND.txt

 

 

 

그리고 아래는 커서 설명이다.

CURSOR_QUERY.txt

 

 -- 이름, 메모 변수 선언 [가]
DECLARE @NAME   NVARCHAR(50)
DECLARE @MEMO  NVARCHAR(50)
-- 커서 선언
DECLARE FRIEND_CURSOR CURSOR FOR SELECT NAME, MEMO FROM TB_FRIEND
-- 커서 열기
OPEN FRIEND_CURSOR

-- 커서에서 데이터 가져오기 (반복) [나]
FETCH NEXT FROM FRIEND_CURSOR INTO @NAME, @MEMO
-- 데이터 처리 (반복) [다]
WHILE(@@FETCH_STATUS = 0)
BEGIN

-- 출력 부분 [라]
 SELECT @NAME, @MEMO
 FETCH NEXT FROM FRIEND_CURSOR INTO @NAME, @MEMO
END
-- 커서 닫기
CLOSE FRIEND_CURSOR
-- 해제
DEALLOCATE FRIEND_CURSOR
GO

[가] : 최종 SELECT할 변수 명을 선언한다.

[나], [다] : [가]에서 선언한 변수들이 위치한다. 개수가 맞아야 한다.

[라]: 최종 출력 부분

 

 

 

 출력 결과

 

 

 

 

 

 

 

'프로그래밍 > ㆍMSSQL' 카테고리의 다른 글

[mssql] ISNULL 이란?  (0) 2013.11.19
posted by 쪼재