TGViewer
SQL Portal | Базы Данных SQL Portal | Базы Данных @sqlportal · 13.8K subscribers
Post #1649 2.22K
SQL-трюк, о котором знают немногие

Знаете ли вы, что можно использовать RETURNING, чтобы получать данные из DML-операций без отдельного SELECT?

Обычно после изменения таблицы пишут отдельный SELECT, чтобы посмотреть изменения. Это распространённый подход:

INSERT OR IGNORE INTO books (title, isbn, release_date)
VALUES('The Blue Book', '9780346', '1951-07-16');

-- Используем SELECT, чтобы посмотреть изменения
SELECT
id AS book_id,
STRFTIME('%Y', release_date) AS year_of_release
FROM books;


В SQLite операторы INSERT, UPDATE и DELETE имеют необязательный RETURNING-клаузу (clause), которая возвращает строку, вставленную, обновлённую или удалённую. То есть вместо того, чтобы писать отдельный SELECT, можно просто добавить RETURNING.

INSERT OR IGNORE INTO books(title, isbn, release_date)
VALUES('The Blue Book', '9780346', '1951-07-16')
RETURNING
id AS book_id,
STRFTIME('%Y', release_date) AS year_of_release;


Назначение RETURNING — заставить выражение возвращать по одной результирующей строке для каждой строки базы данных, которая была удалена, вставлена или обновлена. RETURNING не является стандартом SQL — это расширение.

👉 @SQLPortal
  • 👍 5
More from @sqlportal
  1. Oct 12, 2026Команды SQL проще запомнить по назначению • DDL — создание и изменение структуры БД: CREAT…
  2. Oct 12, 2026Pandas: Python для повседневных задач аналитика 🐼 Загрузить файлы с неаккуратными данными…
  3. Oct 11, 2026Чтобы запросы оставались быстрыми, понятными и справлялись с ростом объёма данных, нужны х…
  4. Oct 11, 2026SQL: порядок написания ≠ порядок обработки Запрос начинается с SELECT, но логически обраба…
  5. Oct 10, 2026Какие навыки нужны дата-инженеру? В вакансиях прослеживается закономерность: на первом мес…
  6. Oct 10, 2026Бэкап есть? А если найду? 😳 👉 @SQLPortal
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →