HI!

Consider the following server side function:

CREATE FUNCTION my_function(int4) RETURNS SETOF int8 AS
$BODY$
SELECT
CASE WHEN (some_condition)
     THEN (
         SELECT ... -- arbitrary select (returning row(s) of int8 values)
     )
     ELSE (
         SELECT ... -- arbitrary select (returning row(s) of int8 values)
     )
END
$BODY$
LANGUAGE 'sql' VOLATILE;

This function works fine if one of the two inner SELECT statements returns 
exactly one result (one row), but fails whenever one of them returns more 
than one result / rows.

What is the reason? I mean the function is declared as returning "SETOF int8", 
so why does it expect a scalar?

CU
Christian

---------------------------(end of broadcast)---------------------------
TIP 3: Have you checked our extensive FAQ?

               http://www.postgresql.org/docs/faq

Reply via email to