задействуют в далее в запросе. Будет ли этот запрос атомарным? Если в первый изменяющий CTE пройдет а второй выполнится с ошибкой, будет ли откат как в транзакции?
https://postgrespro.ru/docs/postgresql/9.6/sql-start-transaction
а зачем эта сслыка?
то есть запрос с двумя cte с предложеними меняющими данные будет атомарен? я на всякий случай правильно ли я понял
Скорее всего это будет одна неявная транзакция. Лично я бы всегда и везде использовал явные транзакции и не грузил себе голову подобной ерундой :)
Спасибо за мнение. Я наткнулся на кусок кода с cte и задался вопросом, вот думаю переписать ее или оставит
Да, конечно. Это же фундамент всех ACID СУБД — с т.з. пользователя в них всё атомарно (кроме того, что преднамеренно сделано не атомарным — sequences).
Некоторые "куски кода" с wCTE Вы просто иначе не перепишете, кстати (те, где играют роль immediate constraints, например).
вот так будет выглядеть два CTE с точки зрения СУБД P1-S1 - одна неявная транзакция, P2-S2 - вторая неявная транзакция
Обсуждают сегодня