Search Postgresql Archives

Re: Howto return values from a function

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



> How you generate the results is up to you. when you have them you
> either use RETURN NEXT or RETURN QUERY to return them to the caller.

Now I get the reply

ERROR:  set-valued function called in context that cannot accept a set
CONTEXT:  PL/pgSQL function "actionlist" line 11 at return next

and here is the function (and a datatype that is used for the return values)


CREATE TYPE Ttelnr_action AS (
	nr VARCHAR(30),
	action CHAR(1)
);

CREATE OR REPLACE FUNCTION actionlist(tid_ TIMESTAMP) RETURNS SETOF
Ttelnr_action AS $$
DECLARE
	rec RECORD;
	result Ttelnr_action;
BEGIN
	FOR rec IN SELECT DISTINCT custid,nr,action FROM Actions
	LOOP
		IF rec.action = 'view_important_message' THEN
			result.nr := rec.nr;
			result.action := 'd';
			RETURN NEXT result;
		ELSIF rec.action = 'download_movie' THEN
			result.nr := rec.nr;
			result.action := 'v';
			RETURN NEXT result;
		END IF;
	END LOOP;
	RETURN;
END;
$$ LANGUAGE plpgsql;


[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Index of Archives]     [Postgresql Jobs]     [Postgresql Admin]     [Postgresql Performance]     [Linux Clusters]     [PHP Home]     [PHP on Windows]     [Kernel Newbies]     [PHP Classes]     [PHP Books]     [PHP Databases]     [Postgresql & PHP]     [Yosemite]
  Powered by Linux