[데이타베이스] 커서(CURSORS)
- 최초 등록일
- 2002.12.03
- 최종 저작일
- 2002.12
- 6페이지/ 한컴오피스
- 가격 1,000원
목차
커서(CURSORS)
1. 커서란 무엇인가?
(1) 명시적 커서를 처리하기
①커서를 선언하기
②커서를 오픈하기
③커서를 인출하기
④커서를 닫기
⑤커서의 속성
(2) 암시적 커서를 처리하기
2. 커서 인출 루프(Cursor Fetch Loops)
(1) LOOP..END LOOP
(2) WHILE 루프
(3) 커서 FOR 루프
(4) NO_DATA_FOUND와 %NOTFOUND
(5) SELECT FOR UPDATE 커서
①FOR UPDATE
②WHERE CURRENT OF
③커미트를 가로질러 인출하기
4.커서 변수
(1) 커서 변수를 선언하기
①제한된 커서 변수와 제한되지 않은 커서 변수
(2) 커서 변수의 저장소를 할당하기
①EXEC SQL ALLOCATE를 사용하기
②자동할당
(3) 쿼리에 대한 커서 변수를 오픈하기
(4) 커서변수를 닫기
(5) 커서 변수의 사용에 대한 제한
본문내용
1. 커서란 무엇인가?
ㆍ커서란 : 커서는 나중에 액세스하기 위한 특정문자를 수용할 수 있는 메모리 영역을 사용자가 명명하는 것이다. 칸텍스트 영역에 대한 핸들 또는 포인터이며, 커서를 통해, PL/SQL 프로그램과 칸텍스트 영역과 문장이 처리될 때 발생하는 것을 제어한다.
ㆍ커서의 종류
암시적 커서 : 모든 DML과 PL/SQL SELECT문에 대한 선언
명시적 커서 : 프로그래머에 의해 선언되며 이름이 있는 커서
(1) 명시적 커서를 처리하기
명시적 커서에 필요한 4개의 PL/SQL 단계
1. 커서를 선언한다
2. 쿼리에서 커서를 오픈한다.
3. 결과를 PL/SQL 변수로 인출한다
4. 커서를 닫는다.
※명시적 커서의 제어 단계
이름이 있는 검색 실행 및 변수 커서의 현재 데 현재 데이터 행의 SQL AREA, 즉
SQL AREA의 생성 들과의 연결, 검색된 이터 행을 해당 존재 여부 검사 커서가 사용한
데이터 행들이 SQL 변수에 넘긴다 자원을 해제
AREA에 존재
①커서를 선언하기
커서의 이름을 정의하고 SELECT 문과 관련
구문)
CURSOR cursor name IS select_statement;
┕커서의 이름 ┕커서에 의해 처리된 쿼리
커서이름 : pl/sql 식별자이기 때문에, 참조되기 전에 선언되어야하며, 조인과 union 또는 minus 절을 포함하여, 임의의 select 문이 적합하다
select_statement : into 절을 포함하지 않는다. into 절은 fetch 문의 부분이다.
②커서를 오픈하기
구문)
OPEN cursor_name;
┕전에 선언한 커서를 식별
커서가 오픈 될 때,
ㆍ바인드 변수의 값이 검사된다.
ㆍ바인드 변수의 값을 토대로, 액티브 집합(쿼리와 일치하는 행들의 집합)이 결정된다.
ㆍ액티브 집합 포인터는 첫 번째 행으로 설정된다.
③커서를 인출하기
쿼리에서 into 절은 fetch 문이다
구문)
FETCH cursor_name INTO list_of_variables;
┕전에 선언하고 오픈된 ┕전에 선언한 pl/sql 변수의
커서식별 컴마로 구분된 리스트
FETCH cursor_name INTO PL/SQL_record;
┕전에 선언한 pl/sql 레코드
참고 자료
없음