바닥코딩
분기문 본문
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 |