STUDY ROOM

[MS-SQL] 커서(Cursor) 본문

SQL

[MS-SQL] 커서(Cursor)

Eva_0401 2020. 4. 8. 16:02

: SELECT 한 결과(행집합)을 반복작업해야 할 경우 사용 

사용방법

 

  1. 선언

 

DECLARE CUR1 CURSOR FOR SELECT ...
  • DECLARE CURSOR 문은 커서를 정의한다. for 구문 뒤에 cursor에 삽입시켜줄 select 구문을 적용한다.

 

  1. 커서 열기

 

OPEN CUR1    -- cur1 커서 열기
  FETCH NEXT FROM V_CUR2 INTO @NAME @SEQ  -- 커서에서 첫번째 행 값을 읽어 변수에 대입한다.
  • 커서를 이용하여 질의 수행결과 반환되는 여러 행 처리한다. select에 결과 집합을 채운다

 

  1. 반복 하기

 

WHILE (@@FETCH_STATUS = 0) 
  • 패치문이 성공적으로 실행될 때 (행이 모두 없어질때까지 처리) 0값을 준다.
  • @@FETCH_STATUS는 연결의 모든 커서에 전역으로 적용된다.

 

   4. 커서 닫기 및 삭제

 

CLOSE V_CUR			-- 커서 닫기
 DEALLOCATE V_CUR	-- 커서 삭제

 

 

=> 

커서는 CURSUR FOR 'QUERY'[커서 생성] -> OPEN [커서 사용준비] ->FETCH[커서 사용] ->CLOSE[커서 사용해제]-> DEALLOCATE[커서삭제] 순으로 진행

Comments