关于SQL server 2005中的标识问题

在 SQL server 2005 中,设置某个字段为标识,种子为1.增量为1,如何在插入一行数据的时候获取当前插入行的标识值? 请写出SQL 语句,谢谢~

第1个回答  2011-11-24
创建表时指定自动编号的字段

1.CREATE TABLE [dbo].[UserInfor]( [UserID] [int] IDENTITY(100,2) NOT NULL, [UserName] [nchar](10) NOT NULL, ) 说明:创建一个用户信息表UserInfor,并指定UserID为自动编号字段。

其中:IDENTITY(100,2)表示字段的初始值为100,每次增量为2,如输入数据后第一次为100,第二次为102。

2.获取自动编号的字段值

这里可以使用@@IDENTITY取得自动增加字段主键的值
第2个回答  2011-11-24
@@IDENTITY,返回最后插入的标识值的系统函数。
但是这个函数是针对整个数据库的。
如果你为了知道当前插入的ID,就在插入一行后马上进行查询MAX(ID)。
第3个回答  2011-11-24
INSERT INTO [table](....) VALUES (....);SELECT IDENTITY_SCOPE();本回答被提问者采纳
第4个回答  2011-11-24
count(*)表示当前数据表中记录行数,加一则是新插入行的标示值。
select count(*)+1 from tab_name
相似回答