Hey, a trivial question I guess, can't make it work. IF I define a function returning several values , I can't use it to update mutliple columns of a table at once. i __don't__ want to use CTE or subquerry, and of course I don't wan tto compute the function several time.
CREATE TABLE test_update_m_values ( gid int, gid_plus_1 int, gid_minus_1 int ); INSERT INTO test_update_m_values VALUES (1,0,0) ; CREATE OR REPLACE FUNCTION rc_test_update_m_values( gid int,OUT gid_plus_1 int, OUT gid_minus_1 int) AS $$ -- @brief : test function, can be deleted BEGIN SELECT gid+1,gid-1 INTO gid_plus_1, gid_minus_1; RETURN ; END; $$ LANGUAGE 'plpgsql' IMMUTABLE STRICT ; UPDATE test_update_m_values SET (gid_plus_1,gid_minus_1) = (rc_test_update_m_values(gid)); --doesn't work Somebody now if this is possible? CHeers, Rémi-C