Re: cursor empty
От | Adrian Klaver |
---|---|
Тема | Re: cursor empty |
Дата | |
Msg-id | bbdbd48c-c3be-d8ca-0c3d-39231f4ecdf0@aklaver.com обсуждение исходный текст |
Ответ на | cursor empty (Philipp Kraus <philipp.kraus@tu-clausthal.de>) |
Ответы |
Re: cursor empty
|
Список | pgsql-general |
On 05/08/2018 05:39 AM, Philipp Kraus wrote: > Hello, > > I have got a function with this definition: > > CREATE OR REPLACE FUNCTION vectorize(refcursor) > RETURNS SETOF refcursor > LANGUAGE 'plpgsql' > COST 100 > STABLE > ROWS 1000 > AS $BODY$ > > begin > perform pivottable( > '_vector', > 'select * from viewdata', > array['ideate', 'name', 'description', 'latitude', 'longitude'], > array['parametername'], > array['parametervalue::text', 'parametervaluetext'] > ); > open $1 scroll for select * from _vector; > return next $1; > end > > $BODY$; > > The perform call creates a dynamic column pivot table, if I run manually > > select pivottable( > '_vector', > 'select * from viewdata', > array['ideate', 'name', 'description', 'latitude', 'longitude'], > array['parametername'], > array['parametervalue::text', 'parametervaluetext'] > ); > select * from _vector; > > I get all the data in the output, so everything is fine. > > My goal is now to encapsulate the two lines into a function, so I define > a stable function and based on the dynamic column set a cursor. I get in > pgadmin the column names back, but the rows are empty if I run: > > select * from vectorize('myvec'); > fetch all from myvec; > > Can you explain me, which part is wrong? I am going to say: perform pivottable( ... https://www.postgresql.org/docs/10/static/plpgsql-statements.html#PLPGSQL-STATEMENTS-SQL-NORESULT "Sometimes it is useful to evaluate an expression or SELECT query but discard the result, for example when calling a function that has side-effects but no useful result value. To do this in PL/pgSQL, use the PERFORM statement: PERFORM query; This executes query and discards the result. ..." ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ > Thanks > > Phil > > > > -- Adrian Klaver adrian.klaver@aklaver.com
В списке pgsql-general по дате отправления: