Базы данных. Концепция баз данных, реляционная модель данных, языки SQL и XML. Токмаков Г.П. - 129 стр.

UptoLike

Составители: 

129
6.1.4. В
ОЗВРАЩЕНИЕ ПЕРЕМЕННЫХ
Тип величины, возвращаемой функцией
PL/pgSQL, должен соответствовать
типу возвращаемого значения, указанному при создании функции командой
CREATE FUNCTION. Значение возвращается командой RETURN. Команда RETURN на-
ходится в конце функции, но она также часто встречается в командах
IF или
других командах, осуществляющих передачу управления в программе. Даже
если команда
RETURN вызывается в одной из этих команд, функция вес равно
должна заканчиваться командой
RETURN (даже если управление никогда не бу-
дет передано этой завершающей команде).
Синтаксис команды
RETURN приведен в листинге 6.20.
Листинг 6.20. Синтаксис команды RETURN
CREATEFUNCTIONфункция(аргументы)RETURNSтипAS'
DECLARE
объявление;
[...]
BEGIN
команда;
[...]
RETURN{переменная\значение}
END;
'LANGUAGE'plpgsql';
Пример использования команды RETURN можно найти в любой функции
PL/pgSQL, встречающейся в этой главе.
6.1.5. А
ТРИБУТЫ
Для упрощения работы с объектами базы данных в PL/pgSQL существуют
атрибуты переменных
%TYPE и %R0WTYPE. Атрибуты требуются для объявления
переменной, тип которой совпадает с типом объекта базы данных (атрибут
%TYPE) или структурой записи (атрибут %ROWTYPE). Переменные объявляются с
атрибутами в том случае, если они будут использоваться в программном блоке
для хранения значений, полученных от объекта базы данных. Таким образом,
при объявлении переменной с атрибутом знать тип объекта базы данных не
обязательно. Если в будущем тип изменится, то переменная также автоматиче-
ски переключится на новый тип
данных, причем это не потребует дополни-
тельных усилий со стороны программиста.
Атрибут %TYPE
Атрибут
%TYPE используется при объявлении переменных с типом данных,
совпадающих с типом некоторого объекта базы данных (чаще всего поля). Син-
таксис объявления переменной с атрибутом
%TYPE приведен в листинге 6.21.
Листинг 6.21. Объявление переменной с атрибутом %TYPE
переменнаятаблица.поле%TYPE
В листинге 6.22 приведена функция, использующая атрибут %TYPE для хра-
нения фамилии автора. В ней задействован оператор конкатенации (
||), опи-
санный ниже. Команда
SELECT INTO рассматривалась ранее в этой главе.