Использую ли я CTE или транзакции для объединения запросов? PostgreSQL
Документация гласит:
Транзакции. Суть транзакции заключается в том, что она объединяет несколько шагов в одну операцию "все или ничего". Промежуточные состояния между шагами не видны другим параллельным транзакциям, и если происходит какой-либо сбой, препятствующий завершению транзакции, то ни один из шагов вообще не влияет на базу данных.
CTE, модифицирующие данные: это позволяет вам выполнять несколько разных операций в одном и том же запросе... Под-операторы в WITH выполняются одновременно друг с другом и с основным запросом. Следовательно, при использовании операторов изменения данных в WITH порядок, в котором фактически происходят указанные обновления, непредсказуем
Мои потребности:
- Операция "все или ничего";
- Не вложенные запросы;
- ВОЗВРАЩЕНИЕ;
- Понимание разницы и где использовать каждый.
Пример: посмотрите на дизайн ниже. Что я должен использовать здесь, когда я CRUD данных? Как должен выглядеть мой запрос?