I have table: -------------------------------------------- CREATE TABLE "public"."test" ( "id" INTEGER, "text1" VARCHAR(25), "text2" VARCHAR(25) ) WITH OIDS; INSERT INTO test VALUES (1, 'qwerty', '111'); INSERT INTO test VALUES (2, 'asdfgh', '222'); -------------------------------------------- and function: -------------------------------------------- CREATE OR REPLACE FUNCTION "public"."test1" () RETURNS integer AS $body$ BEGIN UPDATE test SET text1='qqq' WHERE id = 2; RETURN 2; END; $body$ LANGUAGE 'plpgsql' VOLATILE CALLED ON NULL INPUT SECURITY INVOKER; -------------------------------------------- When I do SELECT test1(); it works fine and return "2". But this thing don't work: UPDATE test SET text2='test' WHERE id = (SELECT test1()); (rows affected: 0) Why? There is two updates on the same row, but work only first update (in the function). Maybe it's bug? P.S.: I'm using PostgreSQL 8.0.1 on Win32. Sorry for my english. ___________________________________ Best regards, Yuri B. Lukyanov 7 июня 2005 г. 22:49:28 mailto:snaky@xxxxxxxx ---------------------------(end of broadcast)--------------------------- TIP 4: Don't 'kill -9' the postmaster