The CASE statement selects an execution path based on multiple conditions.
Syntax
>>-CASE----+-| searched-case-statement-when-clause |-+---------->
           '-| simple-case-statement-when-clause |---'
 
>----END CASE--------------------------------------------------><
 
simple-case-statement-when-clause
 
|---expression-------------------------------------------------->
 
      .-------------------------------------------------------------.
      |                          .-------------------------------.  |
      V                          V                               |  |
>--------WHEN--expression--THEN-----SQL-procedure-statement--;---+--+>
 
>-----+------------------------------------------+--------------|
      |       .-------------------------------.  |
      |       V                               |  |
      '-ELSE-----SQL-procedure-statement--;---+--'
 
searched-case-statement-when-clause
 
    .-------------------------------------------------------------------.
    |                                .-------------------------------.  |
    V                                V                               |  |
|------WHEN--search-condition--THEN-----SQL-procedure-statement--;---+--+->
 
>----+------------------------------------------+---------------|
     |       .-------------------------------.  |
     |       V                               |  |
     '-ELSE-----SQL-procedure-statement--;---+--'
 
Description
Notes
Examples
Depending on the value of SQL variable v_workdept, update column DEPTNAME in table DEPARTMENT with the appropriate name.
The following example shows how to do this using the syntax for a simple-case-statement-when-clause:
     CASE v_workdept
        WHEN'A00'
          THEN UPDATE department 
          SET deptname = 'DATA ACCESS 1';
        WHEN 'B01'
          THEN UPDATE department
          SET deptname = 'DATA ACCESS 2';
        ELSE UPDATE department 
          SET deptname = 'DATA ACCESS 3';
     END CASE
The following example shows how to do this using the syntax for a searched-case-statement-when-clause:
     CASE
        WHEN v_workdept = 'A00'
          THEN UPDATE department 
          SET deptname = 'DATA ACCESS 1';
        WHEN v_workdept = 'B01'
          THEN UPDATE department
          SET deptname = 'DATA ACCESS 2';
        ELSE UPDATE department 
          SET deptname = 'DATA ACCESS 3';
     END CASE