STUDY ROOM
[MS-SQL] 커서(Cursor) 본문
: SELECT 한 결과(행집합)을 반복작업해야 할 경우 사용
사용방법
- 선언
DECLARE CUR1 CURSOR FOR SELECT ...
- DECLARE CURSOR 문은 커서를 정의한다. for 구문 뒤에 cursor에 삽입시켜줄 select 구문을 적용한다.
- 커서 열기
OPEN CUR1 -- cur1 커서 열기
FETCH NEXT FROM V_CUR2 INTO @NAME @SEQ -- 커서에서 첫번째 행 값을 읽어 변수에 대입한다.
- 커서를 이용하여 질의 수행결과 반환되는 여러 행 처리한다. select에 결과 집합을 채운다
- 반복 하기
WHILE (@@FETCH_STATUS = 0)
- 패치문이 성공적으로 실행될 때 (행이 모두 없어질때까지 처리) 0값을 준다.
- @@FETCH_STATUS는 연결의 모든 커서에 전역으로 적용된다.
4. 커서 닫기 및 삭제
CLOSE V_CUR -- 커서 닫기
DEALLOCATE V_CUR -- 커서 삭제
=>
커서는 CURSUR FOR 'QUERY'[커서 생성] -> OPEN [커서 사용준비] ->FETCH[커서 사용] ->CLOSE[커서 사용해제]-> DEALLOCATE[커서삭제] 순으로 진행
'SQL' 카테고리의 다른 글
프로시저(Oracle) (0) | 2020.07.07 |
---|---|
프로시저 호출(Oracle) (0) | 2020.07.07 |
LEFT JOIN 절 안에 SELECT문 (0) | 2020.06.16 |
[프로그래머스] 입양 시각 구하기(SQL 내에서 변수설정) (0) | 2020.02.07 |
[프로그래머스] 입양 시각 구하기( HOUR(DATETIME)) (0) | 2020.02.07 |
Comments