개발자에게 배우는 개발자교육! 구로 오라클자바교육학원 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

 

 

 

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

 

 

 

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

 

 

 

변수에 값을 정의하거나 재정의하기 위해 PL/SQL 할당 연산(:=)를 사용합니다. 할당 연산자 왼쪽에 변수를 놓고 오른쪽에 값을 놓습니다.

 

 

변수에 상수값 지정

TAL_SAL 변수에 V_SAL 변수값 정의 
v_total_sal    := v_sal ; 
예제5에서 선언한 TABLE 3번째 변수에 이은선값 정의 
name_table(3)  := '이은선' ;
 
예제6에서 선언한 TABLE의 25번째 사원의 이름과 급여 정의 
emp_table(25).name = '이용호' ; emp_table(25).salary  = 1100 ;

 

 

 

PL/SQL에서는 SQL에서 사용되는 논리, 산술, 연결 연산자와 추가된 지수연산자(**)를 사용할 수 있습니다.
괄호를 사용하여 연산순서를 조정할 수 있습니다.

 변수의 값을 1 증가하시오. 
 v_count := v_count + 1;

 두 변수의 값이 같은 지를 비교하여 BOOLEAN 값 지정 
 v_equal := (v_n1 = v_n2);

+ Recent posts