DB
(MSSQL) CURSOR(커서)
kjun.kr
2017. 4. 13. 22:04
728x90
테이블의 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