Использование RETURNING в INSERT отличается от простого SELECT тем, что позволяет возвращать значения для каждой фактически добавленной строки. postgrespro.ru Это полезно для получения значений, присвоенных по умолчанию, например, последовательного номера записи. postgrespro.ru
Если команда INSERT содержит предложение RETURNING, её результат будет похож на результат оператора SELECT (с теми же столбцами и значениями, что содержатся в списке RETURNING), полученный для строк, добавленных или изменённых этой командой. postgrespro.ru
Некоторые преимущества использования RETURNING:
- Сокращение количества обращений к серверу базы данных. {7-host} При использовании RETURNING нужные данные извлекаются в том же запросе, который модифицирует данные. {7-host} Это исключает необходимость в отдельном операторе SELECT для получения той же информации, что может повысить производительность. {7-host}
- Согласованность и атомарность данных. {7-host} Использование RETURNING гарантирует, что извлекаемые данные напрямую связаны с операцией модификации. {7-host} Это помогает поддерживать согласованность данных и работать с одним и тем же набором данных, изменённым в одной транзакции. {7-host}
- Эффективность. {7-host} Использование одного запроса с RETURNING может быть эффективнее, чем выполнение отдельного оператора SELECT после модификации данных. {7-host} Это особенно выгодно при работе с большими объёмами данных или в ситуациях с высокой нагрузкой на сервер базы данных. {7-host}