DeepEdit!

Программирование баз данных на Oracle, техническая документация, литература, статьи и публикации

  • Увеличить размер шрифта
  • Размер шрифта по умолчанию
  • Уменьшить размер шрифта

Операторы без предложения ELSE

Предложение 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.
 









jAntivirus