[pgsql-jp: 26123] トランザクション内でのレコードの削除

ISHIDA Akio iakio @ pjam.jpweb.net
2002年 5月 24日 (金) 17:44:49 JST


こんにちは。石田@苫小牧市です。
レコードを削除したときの、別のトランザクションからの
見えかたについての質問です。

以下、a=> と b=> は別の接続です。

a=> create table t1 (i int, j text);
a=> insert into t1 values (1, 'a');
a=> begin;
a=> delete from t1;
a=> insert into t1 values (1, 'a');

b=> begin;
b=> update t1 set i = 2 where j = 'a';
(b は待ち状態)

a=> commit;
(b に``UPDATE 0'' と表示される)
b=> commit;
 
この後、select * from t1; すると、
 i | j
---+---
 1 | a
(1 row)

となります。

つまり、b=> が update した時点では、 j = 'a' に該当する
レコードがあるはずなのに、update ができないようです。
この現象は正常な動きでしょうか?
PostgreSQL のバージョンは 7.2.1 です。

-- 
ISHIDA Akio




pgsql-jp メーリングリストの案内