PL/SQL 연습 기록(조건 제어 CASE문)

소개



PL/SQL 연습 기록, 비망록으로 기재.
Oracle12c를 사용하고 있습니다.

CASE 문



IF 문과 마찬가지로 조건 제어 (조건에 따라 처리를 나눕니다)라고합니다.
CASE 문에는 CASE 문과 검색 CASE 문의 두 가지 유형이 있습니다.
우선 CASE 문. 이것은 기준의 값에 근거해 「=」로의 비교를 실시하는 경우에 사용합니다.
CASE 다음에 선택자 표현식(기준 조건)을 지정합니다.
또한 IF 문과 달리 ELSE는 필수입니다.

CASE 문.
DECLARE
 test NUMBER := 10;  -- testに10を設定
BEGIN
 CASE test      -- testの値に対してそれぞれの条件(WHEN以下)と比較していく
  WHEN 10 THEN    
   DBMS_OUTPUT.PUT_LINE('値は10');
  WHEN 20 THEN
   DBMS_OUTPUT.PUT_LINE('値は20');
 ELSE        -- 必須
  DBMS_OUTPUT.PUT_LINE('値はそれ以外');
 END CASE;
END;

실행 결과.
値は10

검색 CASE 문



위의 CASE 문은 선택자 식을 지정했지만 검색 CASE 문에서는 지정하지 않았습니다.
따라서 WHEN에 조건식을 매번 지정해야 합니다.

검색 CASE 문.
DECLARE
 test NUMBER := 5;  -- testに5を設定
BEGIN
 CASE 
  WHEN test < 10 THEN   --条件式を指定   
   DBMS_OUTPUT.PUT_LINE('値は10より小さい');
  WHEN test < 20 THEN     --条件式を指定
   DBMS_OUTPUT.PUT_LINE('値は20より小さい');
 ELSE        -- 必須
  DBMS_OUTPUT.PUT_LINE('値はそれ以外');
 END CASE;
END;

실행 결과.
値は10より小さい



CASE 문은 IF 문보다 간단하게 쓸 수 있다는 장점이 있습니다.
검색 CASE문에서는 조건을 매회 지정할 필요가 있기 때문에 IF문과 비교하면 그다지 큰 차이가 없는 것 같습니다.
또한 IF 문, CASE 문 모두 다중 조건 지정이 가능합니다. (AND 및 OR 사용)
이쪽에 관해서는 또 어딘가에 기재하려고 생각합니다.

봐 주셔서 감사합니다.
기재 내용에 실수가 있으면 교시 부탁드립니다.

참고문헌



프로로서의 Oracle PL/SQL 입문



프로로서의 Oracle PL/SQL 입문 【제3판】(Oracle 12c, 11g, 10g 대응)【전자 서적】[어시스트 교육부]
가격 : 1,320 엔 (2020/11/25 13:10 시점) 감상 (1 건)

아마존은 여기

좋은 웹페이지 즐겨찾기