커서란
데이터 작업을 할때 테이블에서 집합 단위가 아니라 행 단위로 처리를 해야할 때 사용하는 방식
커서의 특징
집합이 아닌 행 단위로 작업을 수행하기 때문에 속도가 느리다
프로그램에서 비유하면 컬렉션을 루프를 돌려서 인덱스 별로 처리하는 것과 같다
사용예시
--커서 생성
DECLARE DATE_CURSOR CURSOR FOR
--조회하고자 하는 select문 선언
SELECT DT FROM #TEMP_DATE;
--커서를 이용하여서 동적 쿼리 작성
--커서 오픈
OPEN DATE_CURSOR
--커서의 다음행을 가지고온다
FETCH NEXT FROM DATE_CURSOR INTO @FORMATDATE
-- 커서의 행이 마지막 행이 될 때까지 반복함
WHILE @@FETCH_STATUS =0
BEGIN
-- 반복 실행한 문장
--...
--커서의 다음행을 가지고온다
FETCH NEXT FROM DATE_CURSOR INTO @FORMATDATE
END
-- 커서 닫기
CLOSE DATE_CURSOR
-- 커서 참조 제거
DEALLOCATE DATE_CURSOR
반응형
'DB' 카테고리의 다른 글
NULL 처리함수 정리(IFNULL 함수와 NULLIF 함수의 차이점) + COALESCE 함수 (0) | 2024.12.10 |
---|---|
윈도우 함수 옵션 (0) | 2024.05.22 |
MSSQL 순위 함수 (ROW_NUMBER 와 DENSE_RANK) (0) | 2024.05.20 |
윈도우 함수 옵션 (0) | 2024.05.17 |
GROUP BY와 PARTITION BY (0) | 2024.05.16 |