(MSSQL) CURSOR(커서)

DB 2017. 4. 13. 22:04
728x90
728x170

테이블의 Row 를 순서대로 하나씩 읽어가면서 데이터 처리를 가능하게 한다.

.net 에 foreach 문이라고 이해하면 쉬울듯

 

사용방법은..

 

DECLARE testCur CURSOR FOR -- 커서정의

SELECT ID,NAME FROM TEST_JUN -- 반복해서 돌릴데이터


OPEN testCur -- 커서 열기


DECLARE @id varchar(50) -- ID 저장변수
DECLARE @name varchar(50) -- NAME 저장변수


FETCH NEXT FROM testCur INTO @id,@name -- 값 대입
WHILE(@@FETCH_STATUS=0) -- 행이 없을때까지 반복
BEGIN
   PRINT @id + ' : ' + @name
   FETCH NEXT FROM testCur INTO @id,@name -- 다음행값을 대입
END


CLOSE testCur -- 커서닫기
DEALLOCATE testCur -- 커서 해재

 

위 결과는 아래와 같다. 테이블의 id, name 모든데이터가 출력

21 : 강준22
22 : 강준23
23 : 강준100
24 : 강준101
25 : 강준102
26 : 강준103
27 : 강준104
28 : 강준105
29 : 강준106
3 : 강준4
30 : 강준107
31 : 강준108
32 : 강준109
33 : 강준110
34 : 강준111

 

728x90
그리드형
Posted by kjun
,