반응형

정의 

SELECT 문을 통해 결과값들이 나올 때, 이 결과들을 메모리 공간(커서)에 저장

 

커서 => 쿼리문에 의해 반환되는 결과값들을 저장하는 메모리 공간

Fetch => 커서에서 원하는 결과값을 추출

 

사용하는 이유?

커서는 로우를 기반으로 작업된다 

PL/SQL 의 SQL 문처럼 하나의 결과를 리턴하면 암시적으로 커서에 저장되므로 암시적 커서라 하고

PL/SQL 레코드 와 PL/SQL 테이블을 결합한 것은 명시적 커서라 한다.

 

커서 종류

1. 묵시적 커서(Implicit Cursor)

        : 오라클에서 자동으로 선언해주는 SQL 커서.(사용자는 생성 유무를 알 수 없다.)

        

2. 명시적 커서(Explicit cursor)

        : 사용자가 선언해서 생성한 후에 사용하는 SQL 커서, 주로 여러개의 행을 처리하고자

          할 경우 사용한다.

 

커서 속성

1. %Found : 가져올 레코드가 있는 경우 true를 반환

2. %isOpen : 커서가 오픈 상태일 경우 true를 반환

3. %NotFound : 더이상 참조할 레코드가 없을 때 true를 반환

4. %RowCount : 카운터 역할을 한다. 처음 오픈시 0, 패치발생할 때마다 1씩 증가

 

커서 처리 단계(명시적)

1. 명시적 커서 선언(커서 생성)

        EX) Cursor 커서이름

2. 명시적 커서 오픈

        EX) Open커서이름

3. 커서에서 데이터 추출(데이터 행 가져오기)

        EX) Fetch 커서이름

4. 커서 종료

        EX) Close 커서이름

 

반응형

+ Recent posts