ВУЗ:
Составители:
Рубрика:
– 128 –
BEGIN
‐‐Вернутьзначениеаргумента,умноженноена2.
return$1*2;
END;
'LANGUAGE'plpgsql';
Если функция имеет большое количество аргументов, в обозначениях вида
«$+номер» легко запутаться. Чтобы программисту было проще отличить одни
аргумент от другого (или если он хочет присвоить переменной аргумента более
содержательное имя), в
PL/pgSQL предусмотрена возможность определения
псевдонимов переменных.
Псевдоним создается при помощи ключевого слова
ALIAS и представляет
собой альтернативный идентификатор для ссылки на аргумент. Перед исполь-
зованием все псевдонимы (как и обычные переменные) должны быть объявле-
ны в секции объявлений блока. В листинге 6.17 показан синтаксис применения
ключевого слова
ALIAS.
Листинг 6.17. Синтаксис использования ключевого слова ALIAS
CREATEFUNCTIONфункция(аргументы)RETURNSтипAS'
DECLARE
идентификаторALIASFOR$1;
идентификаторALIASFOR$2;
BEGIN
END;
'LANGUAGE'plpgsql';
В листинге 6.18 приведен простой пример, демонстрирующий применение
псевдонимов в функциях
PL/pgSQL. Функция triple_price получает веществен-
ное число, умножает его на три и возвращает результат.
Листинг 6.18. Псевдонимы PL/pgSQL
CREATEFUNCTIONtriple_price(float)RETURNSfloatAS'
DECLARE
‐‐Переменнаяinput_priceобъявляетсякакпсевдоним
‐‐дляпеременнойаргумента,обычнообозначаемой
‐‐идентификатором$1.
input_priceALIASFOR$1;
BEGIN
‐‐Вернутьаргумент,умноженныйнатри.
RETURNinput_price*3;
END;
'LANGUAGE'plpgsql';
Если теперь вызвать функцию triple_price при выполнении команды SQL
SELECT в клиенте psql, будет получен результат, показанный в листинге 6.19.
Листинг 6.19. Результат вызова функции triple_price()
booktown=#SELECTtriple_price(12.50);
triple_price
37.5
(1row)
Страницы
- « первая
- ‹ предыдущая
- …
- 126
- 127
- 128
- 129
- 130
- …
- следующая ›
- последняя »
