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


Использование атрибута %ROWTYPE



Листинг 11.30. Использование атрибута %ROWTYPE

CREATE FUNCTION get_author (integer) RETURNS text AS '

DECLARE

-- Объявление псевдонима для аргумента функции.

-- в котором должен передаваться код автора,

author Jd ALIAS FOR $1:

-- Объявление переменной, структура которой

-- совпадает со структурой таблицы authors,

found author authors ROWTYPE:

BEGIN

-- Найти в таблице authors фамилию автора.

-- код которого совпадает с переданным аргументом.

SELECT INTO found_author * FROM authors WHERE id = authorjd:

-- Вернуть имя и фамилию, разделенные пробелом.

RETURN found_author.first_name || " " || found_author.last_name:

END:

' LANGUAGE 'plpgsql':

Обратите внимание па звездочку (*) в списке полей команды SELECT. Поскольку переменная found_author объявлялась с атрибутом UROWTYPE для таблицы authors, она имеет такую же структуру, как и записи таблицы authors. Таким образом, конструкция SELECT * заполняет переменную found_author значениями полей найденной записи. Пример вызова новой версии get_author() приведен в листинге 11.31.



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