我知道在INSERT语句中使用RETURNING但是需要一种方法让它作为INSERT语句(或封闭事务)的结果返回,或者能够使用SELECT检索该值。有没有办法做到这一点?我不能使用DBMS_OUTPUT。谢谢!
答案 0 :(得分:2)
RETURNING子句是保证获取INSERT语句生成的ID值的最简单方法。在多用户环境中查询max(id)
是不可靠的,尤其是在您使用RAC的情况下。
如果从序列中填充了ID,则可以通过在INSERT中运行的来获取序列的当前值:
select your_sequence.currval from dual;
这意味着您需要知道序列的名称,这并不总是很明显,如果您使用12c标识列,则更是如此。
基本上,如果您希望ID使用RETURNING。