If the WHEN phrase cannot be satisfied for any setting
of the index within this range, the search is unsuccessful.
If the WHEN option
can be satisfied, control passes
to imperative-statement-2, and the index contains the value indicating the
occurrence that allowed the WHEN condition(s) to be satisfied.
- condition-name-1, condition-name-2
- Each condition-name specified must have only a single value, and each
must be associated with an ASCENDING/DESCENDING KEY identifier for this table
element.
- data-name-1, data-name-2
- Must specify an ASCENDING/DESCENDING KEY data item in the identifier-1
table element and must be indexed by the first identifier-1 index-name, along
with other indexes or literals, as required. Each data-name may be qualified.
IBM Extension
Data-name-1 or data-name-2 cannot be a floating-point data item. Data-name-1 or
data-name-2 can be a date-time data item.
End of IBM Extension
- identifier-3, identifier-4
- Must not be an ASCENDING/DESCENDING KEY data item for identifier-1 or
an item that is indexed by the first index-name for identifier-1.
Must
not be a pointer or procedure-pointer data item.
IBM Extension
Can
be floating-point or date-time data items.
End of IBM Extension
- arithmetic-expression-1, arithmetic-expression-2
- May be any of the expressions defined under Arithmetic Expressions, with
the following restriction: Any identifier in the arithmetic-expression must
not be an ASCENDING/DESCENDING KEY data item for identifier-1 or an item that
is indexed by the first index-name for identifier-1.
When an ASCENDING/DESCENDING
KEY data item is specified, explicitly or implicitly, in the WHEN phrase,
all preceding ASCENDING/DESCENDING KEY data-names for identifier-1 must also
be specified.
The results of a SEARCH ALL operation are predictable
only when:
- The data in the table is ordered according to the ASCENDING/DESCENDING
KEY phrase
- The contents of the ASCENDING/DESCENDING keys specified in the WHEN clause
provide a unique table reference.