Почему я получаю запись вместо таблицы с моей функцией?

Вопрос:

Я получаю запись вместо таблицы, когда я

CREATE OR REPLACE FUNCTION public.func_obtener_calle(IN character varying)
RETURNS TABLE(tip_via_in character varying, nom_via character varying, geom geometry) AS
$BODY$
BEGIN
RETURN QUERY
SELECT *
FROM tramo_vial WHERE (tramo_vial.nom_via like '%$1%' or tramo_vial.nom_via like upper('&$1%') or tramo_vial.nom_via like initcap('%$1%')); END; $BODY$ LANGUAGE plpgsql

Я всегда получаю запись, и мне нужна таблица для использования после.

Лучший ответ:

Чтобы получить требуемые столбцы, вам нужно будет указать его в своем заявлении select, будь то все столбцы или конкретные

например

SELECT * FROM public.func_obtener_calle('text');

или

SELECT tip_via_in, nom_via, geom FROM public.func_obtener_calle('text');

Оцените статью
TechArks.Ru
Добавить комментарий