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。
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。