数据库表中有一列id,它是自动增长的。当我插入一条数据以后,怎么得到这个id是多少?
例如表有3列:ID、NAME,AGE
其中ID自动增长。
当我插入数据(TOM,20)后,怎么获得这个ID的值?前面有热心的前辈告诉我在sqlserver中有三种方法:
SQL SERVER中的三种获得自增长ID的方法
例子:
insert into users(Code,name) values('1111','aaaa')
select SCOPE_IDENTITY()
select @@IDENTITY
select IDENT_CURRENT('users') 但是在oracle中用什么方法?
谢谢!
例如表有3列:ID、NAME,AGE
其中ID自动增长。
当我插入数据(TOM,20)后,怎么获得这个ID的值?前面有热心的前辈告诉我在sqlserver中有三种方法:
SQL SERVER中的三种获得自增长ID的方法
例子:
insert into users(Code,name) values('1111','aaaa')
select SCOPE_IDENTITY()
select @@IDENTITY
select IDENT_CURRENT('users') 但是在oracle中用什么方法?
谢谢!
select max(id) from table这个好像太原始了!效率太低!
SELECT s_table.nextval FROM dual;
SELECT s_table.currval FROM dual;(可以不要)
SELECT s_table.nextval FROM dual;
实际ID值大1个数,我也在学习中
但是现在我用了序列和触发器,所以只能先插入数据(不包括id)以后,通过“select seq.currval from dual”可以获取刚才插入的id。