ВУЗ:
Составители:
Рубрика:
– 135 –
‐‐ЗначениеNULLговоритотон.чтовбазеданных
‐‐несуществуетзаписикнигискодоминомеромиздания.
‐‐переданнымиваргументахфункции.Еслизаписьнесуществует.
‐‐функциявозвращаетFALSEизавершаетработу.
IFb_isbnISNULLTHEN
RETURNFALSE;
ENDIF;
‐‐Получитьизтаблицыstockколичествоэкземпляровкниги
‐‐наскладеиприсвоитьегопеременнойstock_amount.
SELECTINTOstock_amountstockFROMstock
WHEREisbn=b_isbn;
‐‐Проверить,являетсяликоличествокнигнаскладе
‐‐положительнойвеличиной.Есликоличествоположительно,
‐‐функциявозвращаетTRUE,аеслиотрицательно
‐‐илиравнонулю‐FALSE.
IFstock_amount<=0THEN
RETURNFALSE;
ELSE
RETURNTRUE;
ENDIF;
END;
'LANGUAGE'plpgsql':
В листинге 6.32 показан результат вызова in_stock() для кода книги 4513 и
издания
2.
Листинг 6.32. Результат вызова функции in_stock()
booktown=#SELECTin_stock(4513,2);
instock
t
(1row)
Функция вернула значение TRUE признак наличия книги на складе.
Команда IF/THEN/ELSE/IF
Команда
IF/THEN/ELSE/IF предназначена для последовательной проверки
нескольких условий. Сначала проверяется первое условие; если оно окажется
равным
FALSE, проверяется следующее условие и т. д. Последняя секция ELSE
содержит команды, выполняемые в том случае, если пи одно из проверенных
условий не было истинным. Синтаксис команды
IF/THEN/ELSE/IF:
CREATEFUNCTIONфункция(аргументы)RETURNSтипAS'
DECLARE
объявлениеBEGIN
IFусловиеTHEN
команда;
[...]
ELSEIFусловие
команда;
[...]
ENDIF;
END;
'LANGUAGE'plpgsql':
Страницы
- « первая
- ‹ предыдущая
- …
- 133
- 134
- 135
- 136
- 137
- …
- следующая ›
- последняя »
