2016-11-16 6 views
0

У меня есть функция PostGreSQL какВызов функции в PostGreSQL возвращается не ResultSet

create or replace function getalltypes(name character varying(100)) 
returns setof docs as $BODY$ 

begin 
perform c.contenttypename from conttype c; 

end; 
$BODY$ LANGUAGE PLPGSQL; 

Документах типа я создал

create type docs as (contenttypename character varying(100)) 

на

select getalltypes('') 

не становится отображается Нет результата , Кто-нибудь может помочь?

+1

0 вероятно, вы хотите изменить 'выполнить c.contenttypename из conttype c;' to 'return query c.contenttypename из conttype c;'? .. –

+0

@VaoTsun - 'return query c.contenttypename from conttype c;' показывает ошибку в 'c'. Я изменил на 'return query select c.contenttypename из conttype c;' Тогда это сработало. спасибо –

ответ

1

У вас нет оператора возврата. Вот почему вы не видите результата. PERFORMis used to evaluate the query and DISCARD the result Вот почему вы должны изменить perform c.contenttypename from conttype c; на smth like return query select c.contenttypename from conttype c;.