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

 

 

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

 

 

1. Predefined EXCEPTION

DECLARE Section에서 선언할 필요가 없습니다.  Oracle Server 에러 중에서 자주 발생되는 20가지 에러에 대해 미리 정의되어 있는 EXCEPTION입니다.
해당 EXCEPTION 처리 루틴에서 미리 정의된 EXCEPTION명을 참조하여 에러를 처리합니다. Predefined EXCEPTION의 종류에는 다음과 같은 것들이 있습니다.

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

 

 

 

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

 

 

 

 

WHEN OTHERS 구문은 EXCEPTION 처리의 마지막 구문으로서 미리 선언되지 못한 모든 경우의 EXCEPTION처리를 가능하게 합니다.
EXCEPTION Keyword에 의해 Error처리가 시작됩니다.
EXCEPTION 처리구문이 필요하지 않으면 생략할 수 있습니다.

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

 

 

 

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

 

 

 

 

* Exception 이란 : PL/SQL에서 발생하는 Error

EXCEPTION은 PL/SQL Block의 실행중에 발생하여 Block의 작업을 중단시킵니다. PL/SQL이 EXCEPTION을 발생시킬 때 Block은 항상 종료되겠지만 마지막 조치작업을 수행하도록 EXCEPTION Section을 작성할 수 있습니다

 

 

- EXCEPTION이 발생되는 2가지 방법 

① PL/SQL이 Oracle Server 에러가 발생하면 이와 관련된 EXCEPTION이 자동 발생하는 방법 

 

② Block에 RAISE문을 써서 명시적으로 EXCEPTION을 발생시키는 방법 
BEGIN Section에서 EXCEPTION이 발생하면 EXCEPTION Section의 해당 EXCEPTION 처리부로 제어가 넘어갑니다. 

 

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

 

 

 

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

 

 

 

*  LOOP문의종류 : BASIC LOOP문, FOR LOOP문, WHILE LOOP문

 

 

LOOP와 END LOOP 사이에 반복되는 문장들로 이루어져 있습니다. 문장들의 흐름이 END LOOP에 도달하면 그와 짝을 이루는 LOOP문으로 제어가 돌아갑니다. 이러한 LOOP를 무한 LOOP라 하며 , 여기서 빠져나가려면 EXIT 문을 사용합니다. EXIT문을 이용하면 END LOOP다음문으로 제어를 보내므로 LOOP를 종료할 수 있습니다. 조건에 따라 LOOP를 종료할 수 있도록 WHEN절을 기술합니다.

FOR LOOP는 PL/SQL이 수행할 반복횟수를 정하기 위해 LOOP 앞에 제어문을 갖습니다.
FOR LOOP문에서 사용된 인덱스는 정수로 자동 선언되므로 따로 선언할 필요가 없고, 상한에 도달할 때까지 루프를 반복할 때마다 자동적으로 1씩 증가합니다.
REVERSE 는 상한에서 하한으로 감소하게 해줍니다.

FOR LOOP는 자동으로 값을 1만큼씩 감소시키거나 증가시킵니다. 증감이 1인 일련번호에 대하여 반복처리를 하는 경우에 아주 유용하게 이용할 수 있습니다.
그러나 증감이 1이 아니라면 WHILE LOOP나 BASIC LOOP를 이용하여 증감치를 지정하여야 합니다.

 

제어조건이 True인 동안만 문장을 반복하게 하려면 WHILE LOOP를 사용합니다. 매번 반복되는 첫 문장에서 조건을 평가하여 조건이 False가 되면 LOOP를 종료합니다. 처음 시작에서 조건이 False이면 LOOP문 안으로 들어오지 못하고 LOOP를 종료합니다.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

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

 

 

 

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

 

 

 

- 여러 개의 ELSIF절은 쓸 수 있지만, ELSE절은 한번만 씁니다.

 

 

- IF THEN ELSE문

조건이 True이면 THEN 이하의 문장을 실행하고, 조건이 False나 NULL이면 ELSE 이하의 문장을 실행한 후, 어느 경우에나 END IF 다음의 문장으로 넘어갑니다.

 

 

 

 

 

 

 

 

 

 

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

 

 

 

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

 

 

 

 

SELECT절에 있는 칼럼수와 INTO절의 변수 개수가 같고 데이터 타입이 같아야 하므로 %TYPE Attribute를 사용하면 좋습니다. SELECT문은 INTO절에 의해 조건을 만족하는 Row를 한 개만 저장할 수 있습니다.
그러므로 조건을 만족하는 Row가 한 개도 없거나 여러 개가 있으면 에러를 발생합니다. 

 

 

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

 

 

 

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

 

 

 

 

* DML문인 경우는 SQL의 문법과 동일하게 사용합니다.
또한 UPDATE문이나 DELETE문은 조건을 만족하는 행이 여러 개이면 전체에 대해서 처리하고, 조건을 만족하는 행이 없더라도 에러가 발생되지 않습니다.

 

 

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

 

 

 

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

 

 

 

+ Recent posts