개발자에게 배우는 개발자교육! 구로 오라클자바교육학원 www.oraclejava.co.kr

 

 

 

 

개발자에게 배우는 개발자교육! 구로 오라클자바교육학원 www.oraclejava.co.kr 

 CURSOR

- CURSOR란
Implicit CURSOR의 경우는 PL/SQL Block의 BEGIN Section에 SQL문이 있으면

PL/SQL은 SQL 이라는 이름으로 Implicit CURSOR를 만들게 되는데 PL/SQL은

이 CURSOR를 자동으로 관리하며 가장 최근의 Implicit CURSOR의 결과를 알려주기

위하여 몇 가지 Attribute를 제공합니다.
PL/SQL문에서 이 Attribute를 Function처럼 사용할 수 있지만, SQL문에서는 사용할

수 없습니다. 이 Attribute는 DML문의 수행결과를 알아보는데 유용합니다.

 


개발자에게 배우는 개발자교육! 구로 오라클자바교육학원 www.oraclejava.co.kr


개발자에게 배우는 개발자교육! 구로 오라클자바교육학원 www.oraclejava.co.kr 

개발자에게 배우는 개발자교육! 구로 오라클자바교육학원 www.oraclejava.co.kr

 

 

 

 

개발자에게 배우는 개발자교육! 구로 오라클자바교육학원 www.oraclejava.co.kr 

CURSOR

 

- CURSOR란
Oracle Server는 SQL문을 실행하고 처리한 정보를 저장하기 위해

"Private SQL Area" 이라고 하는 작업영역을 이용합니다.

 

 

이 영역에 이름을 부여하고 저장된 정보를 처리할 수 있게 해주는데 이를 CURSOR라 합니다.

CURSOR는 DML문과 SELECT문에 의해 내부적으로 선언되는 Implicit(묵시적인) CURSOR와

사용자가 선언하고 이름을 정의해서 사용되는 Explicit(명시적인) CURSOR가 있습니다.

PL/SQL에서 SELECT문은 한 개의 Row만을 검색할 수 있기 때문에 하나 이상의 Row를

검색하기 위해서는 Explicit CURSOR를 사용하여야 합니다.


 

 

 

개발자에게 배우는 개발자교육! 구로 오라클자바교육학원 www.oraclejava.co.kr


개발자에게 배우는 개발자교육! 구로 오라클자바교육학원 www.oraclejava.co.kr

개발자에게 배우는 개발자교육! 구로 오라클자바교육학원 www.oraclejava.co.kr

 

 

 

 

 


개발자에게 배우는 개발자교육! 구로 오라클자바교육학원 www.oraclejava.co.kr

 

 

 

 

 

개발자에게 배우는 개발자교육! 구로 오라클자바교육학원 www.oraclejava.co.kr

 

 

 

 

 


개발자에게 배우는 개발자교육! 구로 오라클자바교육학원 www.oraclejava.co.kr

개발자에게 배우는 개발자교육! 구로 오라클자바교육학원 www.oraclejava.co.kr

 

 

 

 

 

개발자에게 배우는 개발자교육! 구로 오라클자바교육학원 www.oraclejava.co.kr


 

 

Exception 유형

[결과]

 

 

 

 

 

앞의 예제7, 예제9번과 같이 PL/SQL에서의 SELECT~ INTO~문은 정확히 한 행의

데이터만 검색이 가능하고 여러 행의 데이터가 넘어오는 경우나 한 행의 데이터도

검색되지 않는 경우에는 에러가 발생합니다. 따라서 사용자가 검색하고자 하는

데이터가 여러 행인 경우에는 Explicit CURSOR를 사용하여야 하는데 다음 절에서

CURSOR의 활용을 알아보기로 합니다.

 

 

 
개발자에게 배우는 개발자교육! 구로 오라클자바교육학원 www.oraclejava.co.kr


개발자에게 배우는 개발자교육! 구로 오라클자바교육학원 www.oraclejava.co.kr

개발자에게 배우는 개발자교육! 구로 오라클자바교육학원 www.oraclejava.co.kr

 

 

 

 

 

개발자에게 배우는 개발자교육! 구로 오라클자바교육학원 www.oraclejava.co.kr 

Exception 유형

[예제11] 예제 9에서 실행시에 해당 COMMISSION_PCT를 입력하지 않는 경우에도

프로그램이 정상적으로 수행되도록 User Defined EXCEPTION의 예제9에서 작성한

프로그램을 보완하면 다음과 같습니다.


 

 

 

 

 

 

 

개발자에게 배우는 개발자교육! 구로 오라클자바교육학원 www.oraclejava.co.kr


개발자에게 배우는 개발자교육! 구로 오라클자바교육학원 www.oraclejava.co.kr 

개발자에게 배우는 개발자교육! 구로 오라클자바교육학원 www.oraclejava.co.kr

 

 

 

 

개발자에게 배우는 개발자교육! 구로 오라클자바교육학원 www.oraclejava.co.kr 

 

 

Exception 유형 

 

 

 

 

 

 


개발자에게 배우는 개발자교육! 구로 오라클자바교육학원 www.oraclejava.co.kr


개발자에게 배우는 개발자교육! 구로 오라클자바교육학원 www.oraclejava.co.kr 

개발자에게 배우는 개발자교육! 구로 오라클자바교육학원 www.oraclejava.co.kr

 

 

 

 

 

 

 

 


개발자에게 배우는 개발자교육! 구로 오라클자바교육학원 www.oraclejava.co.kr 

 

 

 

 

 

Exception 유형

 

[예제10] User Defined EXCEPTION의 예제9에서 작성한 Procedure를 이용하여 데이터를

입력하되 단, 커미션을 30%로 지정하여 실행하시오.

 

 

 

 


개발자에게 배우는 개발자교육! 구로 오라클자바교육학원 www.oraclejava.co.kr


개발자에게 배우는 개발자교육! 구로 오라클자바교육학원 www.oraclejava.co.kr

개발자에게 배우는 개발자교육! 구로 오라클자바교육학원 www.oraclejava.co.kr

 

 

 

개발자에게 배우는 개발자교육! 구로 오라클자바교육학원 www.oraclejava.co.kr 

 

Exception 유형

-SQLCODE, SQLERRM


일반적인 Error처리를 위하여 Oracle에서 제공하는 함수인 SQLCODE, SQLERRM을 활용할 수

있습니다.

 

SQLCODE : Oracle에서 지정된 Error Code를 숫자로 Return 
SQLERRM : Oracle에서 지정된 Error Code에 해당하는 Error Message를 Return

 

SQLCODE, SQLERRM 함수를 활용하는 것 외에도 WHEN OTHERS절을 사용하여 Error를 처리할

수 있습니다. WHEN OTHERS절은 예상치 못한 Error처리를 위해서 미리 선언되지 않은 모든 종류의

Error를 처리합니다.

 

 

개발자에게 배우는 개발자교육! 구로 오라클자바교육학원 www.oraclejava.co.kr


개발자에게 배우는 개발자교육! 구로 오라클자바교육학원 www.oraclejava.co.kr 

 

개발자에게 배우는 개발자교육! 구로 오라클자바교육학원 www.oraclejava.co.kr

 

 

 

 

 

 

개발자에게 배우는 개발자교육! 구로 오라클자바교육학원 www.oraclejava.co.kr 

 

Exception 유형

​[결과]

 

 

 

 

 

개발자에게 배우는 개발자교육! 구로 오라클자바교육학원 www.oraclejava.co.kr

 

 

 

 

 

개발자에게 배우는 개발자교육! 구로 오라클자바교육학원 www.oraclejava.co.kr 

 

 Exception 유형

 

 

[예제9] S_EMP 테이블에 새로운 사원을 입력하는 프로그램을 작성하면 다음과 같습니다.

단, 사번은 일련번호로 부여할 수 있도록 값을 지정하고 이름, 직책, 급여, 커미션은 사용자가 입력합니다.

단, 급여를 600이하로 입력시에는 입력이 불가능하도록 처리합니다.

 

 

 

 

 

 

 

개발자에게 배우는 개발자교육! 구로 오라클자바교육학원 www.oraclejava.co.kr 

 

+ Recent posts