операторов, следующий за первым THEN, при ложности первого и истинности второго — следующий за вторым THEN и при ложности обоих — следующий за ELSE.
Следует отметить, что отсутствие ключевого слова END IF в конце многострочной формы не обнаруживается редактором, ибо редактор проверяет синтаксис построчно, но ведет к выдаче интерпретатором сообщения об ошибке. Трудность обнаружения ошибок такого рода в том, что при исполнении интерпретатор может указывать на ошибки в других операторах. Именно поэтому в составных операторах имеет смысл записывать вложенные блоки операторов с отступом, как это показано в (3.9).
Итак условный оператор дает возможность выполнения двух (однострочная форма) или трех (многострочная форма) различных блоков операторов в зависимости от заданных программистом условий.
ОПЕРАТОР ВЫБОРА
в отличие от условного оператора дает возможность выполнения большого количества различных блоков операторов:
SELECT CASE testexpression (3.10) CASE expressionlisti
[statementblock-1] [CASE expressionlist2
[state»entblock-2]]... [CASE ELSE
[statementblock-n]] END SELECT
Где: testexpression — проверяемое выражение числового или строкового типа,statementblock-1 statementblock-2 statementblock-n — блоки операторов И expressionlisti expressionlist2 — СПИ-сок из одного или более выражений.
Аргументы списка выражений могут быть записаны в любой из последующих форм или любых их комбинациях и разделены запятыми:
expression[,expression]
expression TO expression
IS relational-operator expression
В отличие от оператора IF проверочное выражение может быть числовым или строковым. Исполнение блока операторов, следующего за тем или иным CASE, определяется по списку выражений, в который должно попасть значение проверочного выражения. Отдельные выражения в списке должны быть разделены запятыми, а тип значения в списке должен соответствовать типу проверочного выражения. Допускаются выражения с операторами отношения, которым должно предшествовать слово is. Для. записи диапазона значений можно использовать слово то между наименьшим и наибольшим значениями. Если необходимо выполнить какой-то блок операторов при несовпадении значения проверочного выражения ни с одним списком выражений, то используется ключевое слово CASE ELSE.