티스토리 뷰
커서
- 처리 결과가 여러 개의 행으로 구해지는 SELECT문을 처리할 때 사용
1. Declare 커서
- 명시적으로 커서를 선언하기 위해 커서문장 사용
- 기본 형태
CURSOR 커서명 IS select_statement;
- select_statement : INTO절이 없는 SELECT 문장
2. Open 커서
- 질의 수행
- 검색 조건을 충족하는 모든 행으로 구성된 결과 SET을 생성하기 위해 커서를 OPEN
- 기본 형태
OPEN 커서명;
3. Fetch 커서
- 결과 SET에서 로우 단위의 데이터를 읽어드림
- 각 FETCH후에 커서는 결과 SET에서 다음 행으로 이동
- 기본 형태
FETCH 커서명 INTO {variable1[,variable2, ....]};
- 커서가 끝에 위치하게 되면 반복문을 탈출해야함
- 단순 LOOP는 내부에 EXIT WHEN 문장을 포함하고 있다가 EXIT WHEN 다음에 기술한 조건에 만족하면 단순 LOOP를 탈출
- NOTFOUND : 커서의 상태를 알려주는 속성 중 하나
-> 커서 영역 자료가 모두 FETCH 되었다면 TRUE를 돌림
4. CLOSE 커서
- 커서를 사용할 수 없게 하고 결과 SET의 정의를 해제
- SELECT 문장이 다 처리된 후에는 커서를 닫음
- 필요시 커서를 다시 열 수 있음
- 기본 형태
CLOSE 커서명;
#CURSOR FOR LOOP
- 명시적 커서에서 행을 처리
- LOOP에서 각 반복마다 커서를 열고 행을 FETCH하고, 모든 행이 처리되면 자동으로 커서가 CLOSE됨
'DATABASE > SQL' 카테고리의 다른 글
[SQL] ROLE (0) | 2018.04.24 |
---|---|
[SQL] 보안 (0) | 2018.04.23 |
[SQL] TRIGGER (0) | 2018.04.23 |
[SQL] SUBPROGRAM PACKAGE (0) | 2018.04.23 |
[SQL] PROCEDURE (0) | 2018.04.23 |
댓글