On Friday 23 April 2010, Patta <pmuthuz@gmail.com> wrote:
> Hi,
>
> I'm a beginner in postgresql. I get the below error. Could you help me
> to fix this one?
>
> ERROR: query has no destination for result data
> HINT: If you want to discard the results of a SELECT, use PERFORM
> instead. CONTEXT: PL/pgSQL function "insertcommjunction1" line 7 at SQL
> statement
>
> The function is as follows.
> CREATE OR REPLACE FUNCTION test()
> RETURNS text AS
> $BODY$
> DECLARE
> query_rec record;
> idxfti tsvector;
> c1 cursor for select * from <table>;
> Begin
> open c1;
> Loop
> fetch c1 into query_rec;
> begin
> raise notice 'Record %', query_rec.field1;
> end;
> End loop;
> Return 'ok';
> end;
> $BODY$
> LANGUAGE 'plpgsql' VOLATILE;
Just do something like:
FOR query_rec IN SELECT * FROM <table>
LOOP
... actions
END LOOP;
pl/pgsql will use a cursor internally without you worrying about it.
--
"No animals were harmed in the recording of this episode. We tried but that
damn monkey was just too fast."