В SQL Server вы можете делать такие вещи:
INSERT INTO some_table (...) OUTPUT INSERTED.*
VALUES (...)
Итак, вы можете вставить произвольные наборы столбцов/значений и вернуть эти результаты. Есть ли способ сделать это в Oracle?
Лучшее, что я могу придумать, это следующее:
INSERT INTO some_table (...)
VALUES (...)
RETURNING ROWID INTO :out_rowid
... используя: out_rowid как переменную связывания. И затем, используя второй запрос, например:
SELECT *
FROM some_table
WHERE ROWID = :rowid
... но это не совсем то же самое, что возвращает все внутри столбца, а не только столбцы, которые я вставил.
Есть ли лучший способ сделать это, не используя много PL/SQL и желательно только с одним запросом?