Синтаксис команды IF/THEN/ELSE
Листинг 11.37. Синтаксис команды IF/THEN/ELSE
CREATE FUNCTION функция (аргументы) RETURNS тип AS '
DECLARE
объявления
BEGIN
IF условие THEN
команда:
[...]
ELSE
команда:
[...]
END IF:
END:
' LANGUAGE 'plpgsql':
Функция в листинге 11.38 делает практически то же, что и функция в листинге 11.35: она также определяет код ISBN по коду книги и номеру издания, сохраняет его в переменной и получает количество экземпляров книги на складе.
Затем команда IF/THEN/ELSE проверяет, является ли количество книг на складе положительной величиной. Если число положительно, функция возвращает TRUE — признак наличия книг на складе. В противном случае функция возвращает FALSE. Стоит напомнить, что функция in_stock() предназначена для вызова из других функций, а возвращаемое значение должно интерпретироваться той функцией, из которой она была вызвана.