Просто интересно, почему ниже (упрощенный) пример работает таким образом.
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);
Результат:
УДАЛИТЬ 0
Вопрос:
Почему DELETE не нашел ни одной строки для удаления?
PostgreSql версия 9.2.1
Выделение транзакции = прочитанное сообщение
Спасибо!