I have this function:
CREATE OR REPLACE FUNCTION func2(a integer[])
RETURNS SETOF newset AS
$BODY$
declare
x int;
begin
FOREACH x IN ARRAY $1
LOOP
RETURN QUERY SELECT * FROM func1(x);
END LOOP;
return;
end;
$BODY$
LANGUAGE plpgsql VOLATILE
func2
simply append all rows from all calls to func1
. if first call to func1
gave 2 rows and second call gave 3 rows, func2
will return in total 5 rows (the rows themselves).
func1
returns a schema of 3 columns so currently func2
return same schema.
I want to change func2
so it will return 4 columns. the 3 from func1
and another column which contains the value of x
.
for example:
calling func2(ARRAY[500,200])
and assume func1(500)
return 2 rows and func1(200)
return 3 rows.
I will get:
first second third forth
a b c 500
d e f 500
g h i 200
j k l 200
m n o 200
I created a newset2
which is newset
with another column of int for func2
CREATE OR REPLACE FUNCTION func2(a integer[])
RETURNS SETOF newset2 AS
How do I add the desired column to the function?