如何在事务中获取新增的ID
开发中使用事务插入了一条数据
主键是使用序列来自增的....
我想知道,还未Commit和Rollback的情况下,怎么去获取到这个主键的ID
例如:
tb表:
id(seq自增的) number
name nvarchar2
insert into tb(name) values('name')
使用事务插入之后.就算未有提交,也应该会有一个id与之数据对应的.我现在想拿到这个id
------解决方案--------------------当没有提交,表中该记录没有写到数据文件中。
select seq.next into id from dual 只能是取序列的下一个值
------解决方案--------------------
先执行NEXTVAL,然后就可以执行CURRVAL获取刚才插入的值:
insert into tb(id,name) values(seq.nextval,'name');
select seq.currval from dual
------解决方案--------------------insert ... values() returning id into 变量;