노트

[MS-SQL] 커서(CURSOR) 예제 본문

ㄱㅂ/MS-SQL

[MS-SQL] 커서(CURSOR) 예제

늅뎁 2017. 5. 2. 10:28
반응형







커서(CURSOR) 예제

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
DECLARE  CURSOR_T CURSOR FOR    -- CURSOR_T 커서선언
    SELECT                        -- 커서를 사용할 테이블 select 
        tmpCol
        ,tmpCOl2
        ,tmpCOl3
    FROM #TMP_TABLE
        
OPEN   R_CNT
 
DECLARE    @a INT                    -- select한 컬럼을 담을 변수
        ,@b INT
        ,@c INT
        
FETCH NEXT FROM CURSOR_T INTO @a, @b, @c    -- select한 tmpCol, tmpCol2, tmpCol3을 각각 @a, @b, @c에 담는다
 
-- 커서를 통해 한줄씩 실행
WHILE (@@FETCH_STATUS = 0)    -- 에러가 나지 않을 경우 실행
    BEGIN    
    
        INSERT INTO #TMP_TABLE2        -- row데이터를 가지고 수행할 작업
        (                            
            col
            ,col2
            ,col3
        )
        VALUES
        (
            @a
            ,@b
            ,@c
        )
 
    END
    
FETCH NEXT FROM R_CNT INTO @a, @b, @c    -- 다음 row로 이동
    
END                 
 
-- 커서 닫기, 초기화
CLOSE CURSOR_T
DEALLOCATE CURSOR_T
cs















반응형

'ㄱㅂ > MS-SQL' 카테고리의 다른 글

[MS-SQL] ROUND 반올림, 버림 함수  (0) 2016.06.30
[MS-SQL] CAST 데이터 형 변환  (0) 2016.06.30
[MS-SQL] 대소문자 구분  (0) 2016.06.28
[MS-SQL] ROW_NUMBER()  (0) 2016.06.14
[MS-SQL] STUFF, Row 합치기  (0) 2016.06.08