WebSphere Message Broker Version 8.0.0.5 Betriebssysteme: AIX, HP-Itanium, Linux, Solaris, Windows, z/OS

Sehen Sie sich die Informationen zur aktuellen Produktversion im IBM Integration Bus Version 9.0 an.

CASE-Anweisung

Die CASE-Anweisung (Bedingungsanweisung) verwendet in WHEN-Klauseln definierte Regeln zur Auswahl eines zu verarbeitenden Anweisungsblocks.

Es gibt zwei Formen der CASE-Anweisung: die einfache Form und die Suchform.

Syntax

Syntaxdiagramm lesenSyntaxdiagramm überspringen
Einfache CASE-Anweisung

                        .-<---------------------------------.   
                        V                                   |   
>>-CASE--Hauptausdruck----WHEN--Ausdruck--THEN--Anweisungen-+--->

>--+-------------------+--END--CASE----------------------------><
   '-ELSE--Anweisungen-'              

Syntaxdiagramm lesenSyntaxdiagramm überspringen
CASE-Suchanweisung

         .-<---------------------------------.   
         V                                   |   
>>-CASE----WHEN--Ausdruck--THEN--Anweisungen-+------------------>

>--+-------------------+--END--CASE----------------------------><
   '-ELSE--Anweisungen-'              

In der einfachen Form wird zuerst der Hauptausdruck ausgewertet. Alle WHEN-Klauselausdrücke werden der Reihe nach ausgewertet, bis das Ergebnis mit dem Ergebnis des Hauptausdrucks übereinstimmt. Danach werden die Anweisungen dieser WHEN-Klausel verarbeitet. Falls keine Übereinstimmung gefunden wird und die optionale ELSE-Klausel vorhanden ist, werden stattdessen die Anweisungen der ELSE-Klausel ausgeführt. Die Testwerte müssen keine Literale sein. Die einzige Voraussetzung ist, dass der Hauptausdruck und die WHEN-Klauselausdrücke Typen ergeben, die verglichen werden können.

In der Suchform werden alle WHEN-Klauselausdrücke der Reihe nach ausgewertet, bis ein Ausdruck TRUE ergibt. Danach werden die Anweisungen dieser WHEN-Klausel ausgeführt. Falls keiner der Ausdrücke TRUE ergibt und die optionale ELSE-Klausel vorhanden ist, werden die Anweisungen der ELSE-Klausel ausgeführt. Es muss keine Ähnlichkeit zwischen den Ausdrücken in den einzelnen CASE-Klauseln vorhanden sein. Die einzige Voraussetzung ist, dass sie alle einen Booleschen Wert ergeben.

In der ESQL-Sprache gibt es sowohl eine CASE-Anweisung als auch eine CASE-Funktion (weitere Informationen zur CASE-Funktion finden Sie im Abschnitt CASE-Funktion). Die CASE-Anweisung wählt aus einer Gruppe von Anweisungen eine auszuführende Anweisung aus. Die CASE-Funktion wählt aus einer Gruppe von Ausdrücken einen auszuwertenden Ausdruck aus, und gibt als Wert den Rückgabewert des gewählten Ausdrucks zurück.

Beispiele

Einfache CASE-Anweisung:
CASE size
  WHEN minimum + 0 THEN
    SET description = 'small';
  WHEN minimum + 1 THEN
    SET description = 'medium';        
  WHEN minimum + 2 THEN
    SET description = 'large';
    CALL handleLargeObject();
  ELSE
    SET description = 'unknown';
    CALL handleError();
END CASE;
CASE-Suchanweisung:
CASE
		WHEN i <> 0 THEN
    CALL handleI(i);
  WHEN j > 1 THEN
    CALL handleIZeroAndPositiveJ(j);
  ELSE
    CALL handleAllOtherCases(j);
END CASE;
Bemerkungen | Marken | Downloads | Bibliothek | Support | Feedback

Copyright IBM Corporation 1999, 2014Copyright IBM Corporation 1999, 2014.

        
        Letzte Aktualisierung:
        
        Letzte Aktualisierung: 2015-02-28 16:21:29


ReferenzthemaReferenzthema | Version 8.0.0.5 | ak04930_