pl/pgsql array as input to an aggregate function
i am writing pl/pgsql function that does some statistics processing. using 8.2 of postgres. i want to use this handy aggregate function:开发者_如何学编程
regr_slope(Y, X)
but, i have my X and Y data stored as local arrays in the pl/pgsql function: y double precision[]; x double precision[];
trouble is when i use this as a line in the pl/pgsql function:
slope := regr_slope(y, x);
i get an error saying that function isn't available or has the wrong arguments. i suspect it's because the inputs are supposed to be selected as columns from a table instead of being passed as double precision arrays.
is there a way to make the regr_slope function with local arrays? (ie, some way to cast the array to be a valid input to an aggregate function?)
thank you.
SELECT regr_slope(x,y) INTO slope FROM (SELECT unnest(ARRAY[1,2,3,4]) as x, unnest(ARRAY[5,6,7,8]) AS y) AS z;
精彩评论