DataBase/mssql

[mssql] Cursor

비독개 2021. 2. 16. 00:18

Cursor

  • 행 단위 작업을 효율적으로 하기 위한 방식
  • 테이블에서 여러개의 행을 조회한 후 쿼리의 결과를 한 행씩 처리하는 방식
    ( SELECT한 결과를 반복 작업해줘야 할 경우 유용하게 사용 가능 한 방식 )

특징

  1. 내장 SQL문의 수행 결과로 반환될 수 있는 복수의 튜플들을 엑세스 할 수 있도록 해주는 개념
  2. 질의 수행 결과로 반환되는 첫번째 튜플에 대한 포인터
  3. 질의 결과로 반환 될 수 있는 튜플들을 한번에 하나씩 차례대로 처리할 수 있다.
    ( 많은 데이터를 처리할 경우에는 커서 사용을 피하는 것이 좋음 )

명령어

DECLARE : 커서를 정의하는 등 커서에 관련된 선언을 하는 명령어
OPEN : 커서가 질의 결과의 첫번째 튜플을 포인트하도록 설정하는 명령어
FETCH : 질의 결과의 튜플들 중 현재의 다음 튜플로 커서를 이동시키는 명령어
CLOSE : 질의 수행 결과에 대한 처리 종료 시 커서를 닫기 위해 사용하는 명령어