В настоящее время я работаю над сервлетом генерации отчетов, который агломерирует информацию из нескольких таблиц и создает отчет. В дополнение к возврату результирующих строк я также храню их в таблице отчетов, поэтому позже их не нужно будет восстанавливать, и они будут сохраняться, если таблицы, из которых они сделаны, были стерты. Для этого у меня есть оператор формы (NB: x создается извне и фактически является константой в этом утверждении):
INSERT INTO reports
(report_id, col_a, col_b, col_c)
SELECT x as report_id, foo.a, bar.b, bar.c
FROM foo, bar
Это отлично работает, но мне нужен второй запрос, чтобы вернуть возвращаемые строки назад, например.
SELECT col_a, col_b, col_c
FROM reports
WHERE report_id = x
Это отлично работает, так как оно включает только одну таблицу, не должно быть дорогостоящим, но похоже, что я должен иметь возможность напрямую возвращать результаты вставки, избегая второго запроса. Есть ли какой-то синтаксис для этого, которого я не смог найти? (Я должен отметить, что я довольно новичок в работе с БД, поэтому, если правильным ответом является просто запустить второй запрос, поскольку он только немного медленнее, пусть будет так)