Two updates problem

Поиск
Список
Период
Сортировка
От Yuri B. Lukyanov
Тема Two updates problem
Дата
Msg-id 441354239.20050608213117@ulstu.ru
обсуждение исходный текст
Ответы Strange transaction-id behaviour? (was Re: Two updates problem)  (Richard Huxton <dev@archonet.com>)
Список pgsql-general
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@ulstu.ru


В списке pgsql-general по дате отправления:

Предыдущее
От: dong changyu
Дата:
Сообщение: Re: vulnerability/SSL
Следующее
От: Dan Black
Дата:
Сообщение: Re: Foreign keys and slow insert