Шифрование и секретность в Linux

Синтаксис команды IF/THEN



Листинг 11.34. Синтаксис команды IF/THEN

CREATE FUNCTION функция (аргументы) RETURNS тип AS '

DECLARE

объявления BEGIN

IF условие THEN

команда:

[...] END IF;

END;

' LANGUAGE 'plpgsql';

В листинге 11.35 приведена функция, которая проверяет количество экземпляров книги на складе по коду и номеру издания. Код книги используется во внут-

рениих операциях базы данных и присутствует в нескольких таблицах. Следовательно, функция stock_amount() предназначена для вызова из других функций, а не прямого вызова из клиентской программы, поскольку большинству пользователей коды книг неизвестны.

Сначала мы читаем код ISBN командой SELECT INTO. Если команда SELECT INTO не смогла найти код ISBN по заданному коду книги и номеру издания, функция stock_amount() возвращает -1. Функция, вызвавшая stock_amount(), интерпретирует это значение как признак ошибки. Если код ISBN найден успешно, то другая команда SELECT INTO получает количество экземпляров книги на складе и возвращает полученную величину. На этом работа функции завершается.



Содержание раздела