바닥코딩

분기문 본문

데이터 베이스/오라클 PLSQL

분기문

개발공부개발공부 2021. 2. 25. 15:51

  PL/SQL 은 논리 조건에 따라서 다른 문장을 실행 할 수 있도록 조건 분기문을 제공합니다. 조건분기문은  IF문과 CASE문 두가지를 제공합니다 

 IF 조건문

 IF 조건문은 타 프로그래밍 언어의 IF와 유사합니다. 일단 예제를 통해 알아보겠습니다.

create or replace procedure Iftest_proc
is
    v_cnt number;
    v_type STRING(10);
begin
    select count(*)
    into v_cnt
    from USER_TABLES
    where TABLE_NAME ='EMP';

    if v_cnt > 0 then
        DBMS_OUTPUT.PUT_LINE('테이블 emp 가 존재 합니다');
    elsif
        dbms_output.PUT_LINE('테이블 emp가 존재 하지 않습니다');
    else 
        dbms_output.PUT_LINE('테이블 emp는 뭔데?');
    end if;
end;

해당  코드는 EMP 테이블 존재여부에 따라 서로 다른 결과를 반환한다 여기서 유의깊게 볼점은 다른 프로그래밍 언어와 다르게 ELSE IF 가 아니라 ELSIF E가 하나 없다는 점에 유의해야합니다.

CASE 조건문

create or replace procedure caseTest
is
    v_bool boolean :=true;
    v_str STRING(100);
begin
    case v_bool when true then
            v_str := 'v_bool is true';
        when false then
            v_str := 'v_bool is false';
        else
            v_str := 'v_bool is Null';
    end case;
    DBMS_OUTPUT.PUT_LINE(v_str) ;
end;

 CASE 문은 일반 SQL 에서 사용되는 CASE문과 유사 합니다 CASE 문에서 유의해야 할점은 두 개 이상의 선택값이 선택자와 일치할 경우는 가장 먼저 나타나는 WHEN 이 적용된다는 점입니다.

 

'데이터 베이스 > 오라클 PLSQL' 카테고리의 다른 글

cursor  (0) 2021.03.24
순환문  (0) 2021.02.25
PL/SQL에서 일반 SQL 실행  (0) 2021.02.25
변수, 상수 선언 방법  (0) 2021.02.25
앵커(%) 의 활용  (0) 2021.02.25