Оператор CASE
Оператор CASE
- создание действия, реализующего ветвление.
Синтаксис
CASE [exclusionType]
WHEN condition1 THEN action1
...
WHEN conditionN THEN actionN
[ELSE elseAction]
Описание
Оператор CASE
создает действие, которое выполняет одно из переданных ему действий в зависимости от выполнения условий выбора. Условия выбора задаются с помощью свойств, определенных в блоке WHEN
. Если условие выбора выполняется, то будет выполнено действие указанное в соответствующем блоке THEN
. Если ни одно из условий не выполняется, то будет выполнено действие, определенное в блоке ELSE
, если этот блок указан.
Параметры
-
exclusionType
Тип взаимоисключения. Определяет, могут ли одновременно несколько свойств-условий выполняться одновременно при некотором наборе параметров. Задается одним из ключевых слов:
EXCLUSIVE
OVERRIDE
Тип
EXCLUSIVE
указывает на то, что никакие из перечи сленных условий не могут выполняться одновременно. ТипOVERRIDE
допускает несколько выполняющихся одновременно условий, в этом случае будет выполнено действие, соответствующее первому выполняемому условиюТип
OVERRIDE
используется по умолчанию. -
condition1 ... conditionN
Выражения, значения которых определяют условия выбора.
-
action1 ... actionN
Контекстно-зависимые операторы, описывающие действия, которые могут быть вызваны при выполнении соответствующего условия.
-
elseAction
Контекстно-зависимый оператор, описывающий действие, которое будет выполнено, если ни одно из условий не выполняется.
Примеры
test = DATA INTEGER (INTEGER);
caseActionTest(a) {
CASE
WHEN test(a) > 7 THEN MESSAGE '>7';
WHEN test(a) > 6 THEN MESSAGE '>6';
WHEN test(a) > 5 THEN MESSAGE '>5';
}