Thanks, I got it to work.
But now I have a different problem.
If I execute: select * from getvss(1, now())
it works. But instead, if I execute it as: select *, getvss(d1.id, now()) from d1
I don't get separate columns for the data coming from getvss, it is all in
one column, unlike the previous select. Is there anyway to force that into
different columns?
Thanks.
CREATE or REPLACE FUNCTION getvss(f_pvid integer, f_time timestamp without
time zone, OUT o_port integer[], OUT o_conf double precision[], OUT d_port
integer[], OUT d_conf double precision[])as $$ DECLARE vssview RECORD;
BEGIN FOR vssview IN select vss_orig.portid, vss_orig.confidence from vss,
vss_orig where vss.vssmsg = vss_orig.vssmsg AND pvid = f_pvid and f_time
between starttime and endtime LOOP o_port := array_append(o_port, vssview.portid); o_conf := array_append(o_conf,
vssview.confidence);END LOOP; FOR vssview IN select vss_dest.portid, vss_dest.confidence from vss,
vss_dest where vss.vssmsg = vss_dest.vssmsg AND pvid = f_pvid and f_time
between starttime and endtime LOOP d_port := array_append(d_port, vssview.portid); d_conf := array_append(d_conf,
vssview.confidence);END LOOP;
END;
$$ LANGUAGE plpgsql;
--
View this message in context: http://www.nabble.com/Data-into-an-array-tp19167834p19172916.html
Sent from the PostgreSQL - sql mailing list archive at Nabble.com.