Anfang des Inhaltsbereichs

Allgemeine CASE-Anweisung (searched_case_statement) Dokument im Navigationsbaum lokalisieren

Die allgemeine CASE-Anweisung (searched_case_statement) ist ein Syntaxelement, das in einem statement verwendet wird. Die allgemeine CASE-Anweisung kann zur Definition einer Datenbankprozedur (siehe CREATE DBPROC-Anweisung) oder eines Triggers (siehe CREATE TRIGGER-Anweisung) verwendet werden.

Syntax

<searched_case_statement> ::= CASE
<searched_case_when_clause>...
[<case_else_clause>]
END [CASE]

<searched_case_when_clause> ::= WHEN <search_condition> THEN <statement>
<case_else_clause> ::= ELSE <statement>

search_condition, statement

Erläuterung

Variablen, die in einer routine angegeben sind, kann mit Hilfe einer Anweisung (statement) ein Wert zugewiesen werden.

Kontrollstrukturen

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

Im Fall einer allgemeinen CASE-Anweisung (searched_case_statement) wird die erste erfüllte Suchbedingung bestimmt, die zugehörige Anweisung ausgeführt und die CASE-Anweisung beendet.

Beispiel

CASE
WHEN digit = 0 THEN toCHAR = 'zero';
WHEN digit = 1 THEN toCHAR = 'one';
WHEN digit = 2 THEN toCHAR = 'two';
WHEN digit = 3 THEN toCHAR = 'three';
WHEN digit = 4 THEN toCHAR = 'four';
WHEN digit = 5 THEN toCHAR = 'five';
WHEN digit = 6 THEN toCHAR = 'six';
WHEN digit = 7 THEN toCHAR = 'seven';
WHEN digit = 8 THEN toCHAR = 'eight';
WHEN digit = 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:

Einfache CASE-Anweisung (simple_case_statement)

Ende des Inhaltsbereichs