Поток управления является одним из основных строительных блоков в программировании. Он определяет порядок, в котором различные блоки кода выполняются в программе.
Как и большинство языков программирования, язык Oracle PL/SQL предоставляет различные операторы потока управления, такие как IF-THEN, CASE, FOR, WHILE и т. д.
В этом посте мы узнаем, как работать с оператором CASE в PL/SQL, чтобы представить поток управления в наших запросах Oracle.
Введение в оператор CASE
Оператор CASE позволяет определить последовательность операторов. Затем оператор case выбирает одну последовательность для выполнения на основе указанного условия.
Думайте об этом как о более эффективном способе объявления набора блоков if-then, сохраняя при этом удобочитаемость.
Мы можем выразить синтаксис оператора CASE в Oracle, как показано ниже:
КЕЙСКОГДА условие1, ТОГДА результат1
КОГДА условие2, ТОГДА результат2
...
ИНАЧЕ результат
КОНЕЦ
Оператор CASE оценивает каждое условие в предложениях WHEN в этом синтаксисе.
Если оператор находит соответствующий оператор, он возвращает соответствующий результат. Однако в некоторых случаях оператор case может не найти соответствующее условие. В таком сценарии оператор выполняет результат, определенный в блоке ELSE.
ПРИМЕЧАНИЕ : Блок ELSE является необязательным. Если он недоступен, ядро базы данных использует следующий синтаксис:
ЕЩЕ:ПОДНЯТЬ ДЕЛО_НЕ НАЙДЕНО;
Это позволяет ядру базы данных вызывать исключение и приостанавливать выполнение, когда нет подходящего условия.
Пример 1: Основной пример оператора CASE
В этом примере показан базовый пример использования оператора case в Oracle:
объявитьвозрастной номер;
входной символ (10);
начинать
возраст := 24;
случай возраст
когда 17 тогда
запись := 'определена';
когда 24 тогда
запись: = '9,99';
когда 45 тогда
запись: = '15,99';
еще
запись := 'не разрешено';
конечный случай;
DBMS_OUTPUT.PUT_LINE (запись);
конец;
Предоставленная иллюстрация должна проверять любое условие совпадения и возвращать соответствующий статус. Например, поскольку условие совпадения равно 24, предложение возвращает следующее:
9,99Пример 2: Оператор CASE с таблицей базы данных
В этом примере оператор case используется с таблицей базы данных.
выберите имя, фамилию, зарплату,кейс
когда зарплата 2500, тогда 'Высокая'
иначе «Неизвестно»
конец как оклад_статус
от СОТРУДНИКОВ;
Предоставленный запрос использует оператор case для проверки диапазона заработной платы из таблицы сотрудников.
Полученное значение показано ниже:
Заключение
В этом посте вы узнали, как использовать оператор case Oracle для проверки различных условий и выполнения действия, если оно истинно.