Нужно решить учебную задачу.
Есть схема "Справочники". В ней таблица "Страны".
Таблица имеет поля:
"Код" serial;
"Наименование" character varying(150).
"Наименование" уникально и повторяться не может.
Хочу сделать функцию, которая бы возвращала одну запись этой таблицы, по переданному наименованию.
CREATE OR REPLACE FUNCTION "Справочники"."ПолучитьСтрану"("Наименование" character varying)
RETURNS record AS
$BODY$
DECLARE
Result record;
BEGIN
SET SEARCH_PATH TO "Справочники";
SELECT * INTO Result FROM "Страны" WHERE "Наименование" = $1 LIMIT 1 OFFSET 0;
RETURN Result;
END;
$BODY$
LANGUAGE plpgsql VOLATILE
COST 100;
ALTER FUNCTION "Справочники"."ПолучитьСтрану"(character varying)
OWNER TO postgres;
Функция создается без проблем. Однако при ее использовании возникает ошибка:
SELECT "Наименование" FROM "Справочники"."ПолучитьСтрану"('Россия');
|
---|
ОШИБКА: у функций, возвращающих запись, должен быть список с определением колонок LINE 18: SELECT "Наименование" FROM "Справочники"."ПолучитьСтрану"('Р...
|
Помогите решить проблему.
Заранее благодарю.