개발자에게 배우는 개발자교육! 구로 오라클자바교육학원 www.oraclejava.co.kr
개발자에게 배우는 개발자교육! 구로 오라클자바교육학원 www.oraclejava.co.kr
[예제12] 주문번호를 입력받아 S_ITEM 테이블에서 해당되는 주문내역을 삭제하시오. 그리고 그 삭제결과에 따라 Message를 출력하면 다음과 같습니다.
2. OPEN 단계
OPEN cursor명;
OPEN문은 참조되는 변수를 연결하고, SELECT문을 실행합니다. SELECT로 검색된 Row들을 Active Set이라고 부르며, FETCH 단계에서 사용할 수 있게 됩니다. CURSOR는 Active Set을 생성한 다음, 첫번째 Row에 Pointer를 위치시켜 가리키게 됩니다. CURSOR를 OPEN할 때 검색된 Row가 없어도 에러를 발생하지 않습니다. FETCH를 한 후에 CURSOR의 Attribute를 살펴서 알아볼 수 있습니다.
3. FETCH 단계
FETCH cursor명 INTO 변수1, 변수2,...;
FETCH문은 CURSOR로부터 Pointer가 존재하는 Record의 값을 변수에 전달해 줍니다. 그리고, Pointer는 Active Set의 다음 Record로 이동합니다. CURSOR를 선언할 때 사용된 SELECT문장의 컬럼과 같은 개수, 같은 데이터 타입의 변수를 FETCH문의 INTO절에 기술합니다. FETCH문에서는 FETCH될 Record가 없는 경우에도 에러를 발생하지 않으므로 Record를 포함하고 있는지를 확인합니다.
4. CLOSE 단계
CLOSE cursor명;
CLOSE문은 Record의 Active Set을 닫아 주고, 다시 새로운 Active Set을 만들어 OPEN할 수 있게 해줍니다.
'오라클 > Oracle,SQL' 카테고리의 다른 글
[SQL 기초 및 PL-SQL 강의자료] Explicit CURSOR (CURSOR FOR LOOP) (0) | 2016.05.30 |
---|---|
[SQL 기초 및 PL-SQL 강의자료] Explicit CURSOR (Explicit CURSOR의 Attribute) (0) | 2016.05.30 |
[SQL 기초 및 PL-SQL 강의자료] CURSOR (0) | 2016.05.30 |
[SQL 기초 및 PL-SQL 강의자료] Exception 유형 SQLCODE, SQLERRM (0) | 2016.05.30 |
[SQL 기초 및 PL-SQL 강의자료] Exception 유형 User Defined EXCEPTION (0) | 2016.05.30 |