CURSOR
ORACLE SERVER에서 할당한 전용 메모리 영역에 대한 포인터로 SQL문 실행 메모리 영역이다.
PL/SQL에서 순수하게 사용할 수 있는 SQL문의 종류는 다음과 같다.
- SELECT (ROW 검색)
- DML (COLUMN 조작 - INSERT, UPDATE, DELETE)
- TCL (COMMIT, ROLLBACK, SAVEPOINT)
커서와 오라클의 구조
- USER PROCESSOR
- SQL 개발 툴 (SQLDEVELOPER, SQLPLUS)
- SERVER PROCESSOR
-
CURSOR (SQL문 저장) : SQL문 실행 메모리 영역
-
PARSE(문법, 문맥 검사, 실행계획 생성) / BIND(바인드 변수처리) / EXECUTE(실행 및 ACTIVE SET 생성) / FETCH (결과 유저에게 전달)
커서의 종류
-
IMPLICIT CURSOR ( 암묵적 커서 )
- 오라클이 관리하는 커서
- 반드시 1개의 행의 결과만 전달하는 커서 (NO_DATA_FOUND, TOO_MANY_ROWS)
- DML(INSERT,UPDATE,DELETE,MERGE) 문법 변형 X
-
EXPLICIT CURSOR ( 명시적 커서 )
- 1개 이상의 행 결과 전달 가능
- 프로그래머가 명시적으로 생성하고 관리함.
- 여러 건의 행을 FETCH하며 조작할 때 사용