• 主页
  • Oracle 基础和管理
  • Oracle 高级技术
  • Oracle 认证与考试

如何在事务中获取新增的ID

V-Far 2012-04-01 05:31:39
开发中使用事务插入了一条数据
主键是使用序列来自增的....

我想知道,还未Commit和Rollback的情况下,怎么去获取到这个主键的ID

例如:
tb表:
id(seq自增的) number
name nvarchar2

insert into tb(name) values('name')

使用事务插入之后.就算未有提交,也应该会有一个id与之数据对应的.我现在想拿到这个id
...全文
96 点赞 收藏 5
写回复
5 条回复
forgetsam 2012年04月02日
insert ... values() returning id into 变量;
回复 点赞
ssqtjffcu 2012年04月01日
insert into tb(name) values('name')
你的id是怎么产生的?用序列?
回复 点赞
cowboyhn 2012年04月01日
先执行NEXTVAL,然后就可以执行CURRVAL获取刚才插入的值:
insert into tb(id,name) values(seq.nextval,'name');

select seq.currval from dual

回复 点赞
youqi1984 2012年04月01日
当没有提交,表中该记录没有写到数据文件中。
select seq.next into id from dual 只能是取序列的下一个值
回复 点赞
V-Far 2012年04月01日
难道是select seq.currval from dual
等答案......
回复 点赞
发动态
发帖子
Oracle
创建于2007-09-28

6409

社区成员

5.4w+

社区内容

Oracle开发相关技术讨论
社区公告
暂无公告