在 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 的情况下完成,并且最好只使用一个查询?