興味があるのは、以下の(簡略化された)例がこのように機能する理由です。
CREATE TABLE test (id SERIAL, val INT NOT NULL, PRIMARY KEY(id));
INSERT INTO test (val) VALUES (1);
WITH t AS ( UPDATE test SET val = 1 RETURNING id )
DELETE FROM test WHERE id IN ( SELECT id FROM t);
結果:
DELETE 0
質問:
DELETEが削除する行を見つけられなかったのはなぜですか?
PostgreSqlバージョン9.2.1
トランザクション分離=読み取りコミット
ありがとう!