## Einfache CASE-Anweisung (simple_case_statement)

Die einfache CASE-Anweisung (simple_case_statement) ist ein Syntaxelement, das in einer Routine zur Definition einer Datenbankprozedur (siehe CREATE DBPROC[EDURE]-Anweisung), einer Datenbankfunktion (CREATE FUNCTION-Anweisung) oder eines Triggers (siehe CREATE TRIGGER-Anweisung) verwendet werden kann.

### Syntax

<simple_case_statement> ::= CASE <expression>
<simple_case_when_clause>...
[<case_else_clause>]
END [CASE]

<simple_case_when_clause> ::= WHEN <literal>[, ...] THEN <statement>;
<case_else_clause> ::= ELSE <statement>;

### Erläuterung

Eine CASE-Anweisung case_statement erlaubt die bedingte Anweisungsausführung abhängig von Suchbedingungen oder der Gleichheit von Operanden.

Im Fall einer einfachen CASE-Anweisung simple_case_statement wird der Ausdruck mit den Literalen verglichen. Stimmt der Ausdruck mit einem Literal überein, wird die zugehörige Anweisung ausgeführt und die CASE-Anweisung beendet.

CASE digit
WHEN 0 THEN toCHAR = 'zero';
WHEN 1 THEN toCHAR = 'one';
WHEN 2 THEN toCHAR = 'two';
WHEN 3 THEN toCHAR = 'three';
WHEN 4 THEN toCHAR = 'four';
WHEN 5 THEN toCHAR = 'five';
WHEN 6 THEN toCHAR = 'six';
WHEN 7 THEN toCHAR = 'seven';
WHEN 8 THEN toCHAR = 'eight';
WHEN 9 THEN toCHAR = 'nine';
ELSE STOP(-29000, 'no digit');
END CASE

Ist in einer CASE-Anweisung kein passendes Literal bzw. keine erfüllte Suchbedingung vorhanden, wird die im ELSE-Zweig definierte Anweisung ausgeführt.

Ist auch kein ELSE-Zweig vorhanden, wird der Laufzeitfehler -28901 geliefert.

Siehe auch:

Allgemeine CASE-Anweisung (searched_case_statement)