Предложение ELSE оператора CASE является необязательным. В случае если оно не указано, а проверяемое выражение не соответствует ни
Метка после END CASE является законной только в случае, если сам оператор CASE является помеченным, и обе метки должны совпадать.
Операторы CASE с поиском
В рассмотренных выше примерах использовались операторы CASE с проверкой — каждое предложение WHEN сравнивало значение с единственным тестовым выражением. Применяются также операторы CASE с поиском, они имеют следующую структуру:
CASE
WHEN THEN последовательностъ_операторов_1; WHEN fest2 THEN последователъпость_операторов_2
WHEN testa THEN последоеательностъ_операторов_п; [ELSE последоеательностъ_операторов_п END CASE;
Здесь нет проверяемого выражения; вместо этого каждое предложение WHEN содержит логическое выражение. Подобно оператору IF-THEN, если тестовое выражение оценивается как TRUE, то выполняется соответствующая последовательность операторов. Следующий пример иллюстрирует использование оператора CASE с поиском. Отметим, что тестовые выражения не обязаны проверять один и тот же элемент.
В этом примере показаны предложения WHEN, имеющие в своем составе более одного оператора. Отметим также: хотя v_Test2 равно 'Good-и, следовательно, третье условие WHEN будет истинным, оно не выполняется, так как предыдущее условие уже было оценено как TRUE.
< Предыдущая | Следующая > |
---|