oracle表中有一列id她是自动增长的,插入一条数据时怎么取得id的值

eg:users中有三个字段id,name,age
sqlserver中是:
      insert into users(name,age) values('wangfen','20')
      select  SCOPE_IDENTITY()
      select  @@IDENTITY
      select  IDENT_CURRENT('users')
Oracle中是:select sequence.currval from dual 
                  select max(id) from table 
                    创建序列后SELECT s_table.nextval FROM dual; 
  
用序列seq的话,插入前先通过"select seq.nextval from dual",获取要插入的id,然后把这个id和别的值一起插入到数据库。
但是现在我用了序列和触发器,所以只能先插入数据(不包括id)以后,通过“select seq.currval from dual”可以获取刚才插入的id。             



posted on 2009-04-01 22:49  jameshappy  阅读(1069)  评论(0编辑  收藏  举报