Plsql-searched-case

提供:Dev Guides
移動先:案内検索

PL/SQL-検索されたCASEステートメント

検索された CASE ステートメントにはセレクタがなく、ステートメントの WHEN 句にはブール値を与える検索条件が含まれています。

構文

PL/SQLで検索されたcase文の構文は次のとおりです-

CASE
   WHEN selector = 'value1' THEN S1;
   WHEN selector = 'value2' THEN S2;
   WHEN selector = 'value3' THEN S3;
   ...
   ELSE Sn;  -- default case
END CASE;

流れ図

PL/SQLのcase文

DECLARE
   grade char(1) := 'B';
BEGIN
   case
      when grade = 'A' then dbms_output.put_line('Excellent');
      when grade = 'B' then dbms_output.put_line('Very good');
      when grade = 'C' then dbms_output.put_line('Well done');
      when grade = 'D' then dbms_output.put_line('You passed');
      when grade = 'F' then dbms_output.put_line('Better try again');
      else dbms_output.put_line('No such grade');
   end case;
END;
/

上記のコードがSQLプロンプトで実行されると、次の結果が生成されます-

Very good

PL/SQL procedure successfully completed.