В PL/SQL существует два вида управляющих операторов: условные операторы и операторы перехода. Условные операторы, направляющие поток выполнения в определенную точку программы в зависимости от некоторого условия, необходимы практически в каждом фрагменте создаваемого кода. К таким операторам относятся IF-THEN-ELSE и CASE (операторы CASE доступны в версиях Oracle9/ Database и Oracle Database 10g) Следует отличать операторы CASE от выражений CASE. Выражение CASE в некоторых случаях вполне может заменить собой операторы IF или CASE. Существенно реже используется оператор безусловного перехода GOTO или явное указание на необходимость «ничего не делать» с помощью оператора NULL.
Оператор IF позволяет использовать в программах условную логику. Операторы IF бывают трех видов (табл. 1.4).
Таблица 1.4. Типы операторов IF
Тип оператора IF
|
Описание
|
|
IF условие END IF;
|
THEN
|
Простейшая форма оператора IF. Условие, указанное между IF и THEN, определяет, должно ли быть выполнено множество операторов, находящееся между THEN и END IF. Если условие вычислено как FALSE, то код не выполняется.
|
IF условие ELSE END IF;
|
THEN
|
Данная конструкция реализует логику «или-или». Вычисляется условие, указанное между IF и THEN, и выполняется фрагмент кода, расположенный между THEN и ELSE, или фрагмент кода, расположенный между ELSE и END IF. Всегда выполняется только один из фрагментов кода.
|
IF условие1 THEN ELSIF условие2 THEN ELSE END IF;
|
Последняя и наиболее сложная форма оператора IF. Действие выбирается на основе оценки ряда взаимно исключающих условий, и выполняется соответствующее множество исполняемых операторов. Если вы пишете подобные операторы в версии Oracle9/ Database Release 1 и выше, то подумайте о том, чтобы использовать вместо них поисковые операторы выбора CASE.
|
< Предыдущая | Следующая > |
---|