(
UPDATE table1
SET sec = (
SELECT sec
FROM table2
WHERE used = false
LIMIT 1
)
WHERE id = 111
AND sec = ''
RETURNING sec
)
UPDATE table2
SET used = true
FROM src
WHERE sec = src.sec;
Или надо использовать транзакции?
По умолчанию у всех транзакций read committed. Если хочется переопределить, то надо явно открыть транзакцию с нужным уровнем.
Обсуждают сегодня