ВУЗ:
Составители:
Рубрика:
– 125 –
Возможен и другой вариант
присваивание переменной результата запроса
командой
SELECT INTO. He путайте этот вариант использования команды SELECT
INTO с командой SQL SELECT INTO, которая заносит результаты запроса в новую
таблицу.
Команда
SELECT INTO в основном требуется для сохранения данных записей
в переменных, объявленных с типами
ROWTYPE и RECORD. Чтобы команда SELECT
INTO могла использоваться с обычной переменной, тип этой переменной дол-
жен соответствовать типу поля, упоминаемому в команде
SQL SELECT.
Синтаксис команды
SELECT INTO:
CREATEFUNCTIONидентификатор(аргументы)RETURNSтипAS'
DECLARE
команда;
BEGIN
SELECTINTOпеременная[....]поле[,...]секции_select;
END;
'LANGUAGE'plpgsql':
В этом описании переменная имя переменной, участвующей в присваи-
вании, a ceкции
select любые поддерживаемые секции команды SQL SELECT,
обычно следующие за списком целевых полей в команде
SELECT.
В листинге 6.9 приведена простая функция, в которой используется коман-
да
SELECT INTO. Ключевое слово ALIAS описано в подразделе 0 этого раздела.
Примеры выполнения команды
SELECT INTO для переменных типа RECORD и
ROWTYPE приведены в разделе 6.1.7.
Листинг 6.9. Использование команды SELECT INTO
CREATEFUNCTIONget_customer_id(text.text)RETURNSintegerAS'
DECLARE
‐‐Объявлениепсевдонимовдляаргументов.
l_nameALIASFOR$1;
f_nameALIASFOR$2;
‐‐Объявлениепеременнойдляхранениякодаклиента.
customer_idinteger;
BEGIN
‐‐Получениекодаклиента,имяифамилиякоторого
‐‐совпадаютспереданнымизначениями.
SELECTINTOcustomer_ididFROMcustomers
WHERElast_name=l_nameANDfirst_name=f_name;
‐‐Вернутькод.
RETURNcustomer_id;
END;
'LANGUAGE'plpgsql';
В листинге 6.10 показан результат вызова функции get_customer_id() с ар-
гументами Jackson и Annie. Возвращенное число равно коду клиента «Annie
Jackson» в таблице customers.
Листинг 6.10. Вызов функции get_customer_id()
booktown=#SELECTget_customer_id('Jackson','Annie');
get_customer_id
107
(1row)
Страницы
- « первая
- ‹ предыдущая
- …
- 123
- 124
- 125
- 126
- 127
- …
- следующая ›
- последняя »
