| Oracle® Database PL/SQL Language Reference 11g Release 2 (11.2) Part Number E10472-02 |
|
|
View PDF |
The CASE statement chooses from a sequence of conditions and runs a corresponding statement.
The simple CASE statement evaluates a single expression and compares it to several potential values.
The searched CASE statement evaluates multiple Boolean expressions and chooses the first one whose value is TRUE.
Topics:
Syntax
simple_case_statement ::=

searched_case_statement ::=

See:
Semantics
label
An undeclared identifier. If the CASE statement has multiple labels, they must be unique for that statement.
selector
An expression whose value is evaluated once and used to select one of several alternatives. The value of selector can be of any PL/SQL type except BLOB, BFILE, or a user-defined type.
WHEN { selector_value | boolean_expression } THEN statement
The selector_values or boolean_expressions are evaluated sequentially. If the value of a selector_value equals the value of selector, or if the value of a boolean_expression is TRUE, the statement associated with that selector_value or boolean_expression runs, and the CASE statement ends. Subsequent selector_values or boolean_expressions are not evaluated.
A selector_value can be of any PL/SQL type except BLOB, BFILE, or a user-defined type.
Caution:
Astatement can modify the database and invoke nondeterministic functions. There is no fall-through mechanism, as there is in the C switch statement.ELSE statement [statement ]...
In the simple CASE statement, the statements after ELSE run if and only if no selector_value has the same value as selector.
In the searched CASE statement, the statements after ELSE run if and only if no boolean_expression has the value TRUE.
Without the ELSE clause, if no selector_value has the same value as selector or no boolean_expression has the value TRUE, the system raises a CASE_NOT_FOUND exception.
Examples
Related Topics
In this chapter:
In other chapters:
See Also:
Oracle Database SQL Language Reference for information about the NULLIF function
Oracle Database SQL Language Reference for information about the COALESCE function