При программировании на PSQL существует возможность использовать следующие типы условных структур:
- ветвление, управляемое оператором IF…THEN…ELSE;
- циклическое выполнение группы операторов, пока условие WHILE не станет ложным.
Оператор ветвления IF
Оператор ветвления IF имеет следующий формат:
IF (логическое_условие) THEN<группа_операторов1> [ELSE <группа_операторов2>],
где логическое_условие– любой предикат, который должен быть истинным, чтобы выполнилась <группа_операторов>, следующая за THEN; <группа_операторов> ::= { <блок_операторов>
| DML_оператор
| оператор_процедурного_языка_Firebird };
<блок_операторов> ::= BEGIN
[<группа_операторов> …] END.
Блок операторов – это группа операторов SQL, рассматриваемых как единое целое. Блок операторов начинается с зарезервированного слова BEGIN и заканчивается зарезервированным словом END. При этом блок операторов может содержать вложенный блок операторов, заключенный в операторные скобки BEGINEND, и т.д. Для вложенных блоков после зарезервированного слова END разделительная точка с запятой не ставится. Следует отметить, что между BEGIN…END может не быть ни одного оператора, т.е. допустим "пустой" блок операторов.
Следует отметить, что если <группа_операторов> представляет собой один единственный DML_операторили оператор_процедурного_языка_Firebird, то заключать данный оператор в скобки BEGIN… END не обязательно.
Следующий фрагмент кода иллюстрирует использование оператора IF в теле ХП в предположении, что Street_Cod, House_Nom, Flat_Nom были ранее объявлены как локальные переменные или входные параметры, а Line – как локальная переменная или выходной параметр:
предыдущаяследующая