Study📚/Oracle

Oracle - PL/SQL, IF문, CASE문, 반복문

woo!na 2023. 11. 19. 18:20

- PL/SQL 이란

PL/SQL(Procedural Language extention to SQL) 은 프로그래밍 언어의 특성을 가지는 SQL의 확장이며 데이터 조작과 질의 문장은 PL/SQL의 절차적 코드 안에 포함된다. 또한, PL/SQL 을 사용하면 SQL 로 할 수 없는 절차적 작업이 가능하다.

여기에서 절차적 이라는 단어가 가지는 의미는 어떤 것이 어떤 과정을 거쳐 어떻게 완료되는지 그 방법을 정확하게 코드에 기술한다는 것을 의미한다.

PL/SQL 은 절차적으로 표혀하기 위해 변수를 선언할 수 있는 기능, 참과 거짓을 구별할 수 있는 기능, 실행 흐름을 컨트롤할 수 있는 기능 등을 제공한다. PL/SQL 은 블럭 구조로 되어 있으며, 블럭은 선언 부분, 실행 부분, 예외 처리 부분의 세 부분으로 구성되어 있다. 또한, 반드시 실행 부분은 존재해야 한다.

 

▶ 형식 및 구조

[DECLARE]
    -- 선언문(DECLARATIONS) -> 선언 부분
    변수명 자료형;
    변수명 자료형 := 초기값;
BEGIN
    -- 실행문(STATEMENTS) -> 실행 부분
    
    [EXCEPTION]
        -- 예외 처리문(EXCEPTION HANDLERS) -> 예외 처리 부분
END;

 

 

- IF문

PL/SQL 의 IF 문장은 다른 언어의 IF 조건문과 거의 유사하다. 일치하는 조건에 따라 선택적으로 작업을 수행할 수 있도록 한다. TRUE 이면 THEN 과 ELSE 사이의 문장을 수행하고 FALSE 나 NULL 이면 ELSE 와 END IF; 사이의 문장을 수행하게 된다.

 

▶ 형식 및 구조

IF 조건
   THEN 처리문;
ELSIF 조건
   THEN 처리문;
ELSIF 조건
   THEN 처리문;
ELSE
   처리문;
END IF;

 

 

- CASE 문

SELECT 쿼리문에서 사용하던 CASE 와 매우매우 흡사하다~!

 

▶ 형식 및 구조

CASE 변수
    WHEN 값1 THEN 실행문;
    WHEN 값2 THEN 실행문;
    ELSE 실행문;
END CASE;

 

 

- LOOP 반복문

조건과 상관없이 무조건 반복하는 구문. EXIT WHEN 문을 사용하여 탈출하게 해줘야 한다.

 

▶ 형식 및 구조

LOOP
    -- 실행문
    
    EXIT WHEN 조건;   -- 조건이 참인 경우 반복문을 빠져나간다.
    
END LOOP;

 

 

- WHILE 반복문

제어 조건이 TRUE 인 동안 일련의 문장을 반복하기 위해 사용한다. 조건은 반복이 시작되는 시점에 체크하게 되어 LOOP 내의 문장이 한 번도 수행되지 않을 경우도 있다. LOOP 를 시작할 때 조건이 FALSE 이면, 반복 문장을 탈출하게 된다.

 

▶ 형식 및 구조

WHILE 조건 LOOP   -- 조건이 참인 경우 반복 수행
    -- 실행문;
END LOOP;

 

 

- FOR 반복문

시작수에서 1씩 증가하여 끝냄수가 될 때 까지 반복 수행한다.

FOR 카운터 IN [REVERSE] 시작수 .. 끝냄수 LOOP
    -- 실행문;
END LOOP;