向表中插入记录后,怎样取得自增字段的值
表A,结构如下,其中ID为自增字段:
CREATE TABLE [dbo].[SalesOrder] (
[ID] [int] IDENTITY (1, 1) NOT NULL ,
[Number] [varchar] (20) ,
[CustomerID] [int] NOT NULL
) ON [PRIMARY]
现在向SalesOrder中插入一条记录,然后获取该条记录的ID,语句如下:
declare @id int
insert into SalesOrder(number,customerid) values( '0001 ',1)
set @id = IDENT_CURRENT(SalesOrder)
一直没错,最近发现取的ID错了,原来是在执行set @id = IDENT_CURRENT(SalesOrder)
时,别的用户又增加了一条记录,查帮助中解释如下:
IDENT_CURRENT
返回为任何会话和任何作用域中的指定表最后生成的标识值。
请问:如果返回为当前会话和当前作用域中的指定表最后生成的标识值。
[解决办法]
SELECT SCOPE_IDENTITY()
[解决办法]
SELECT SCOPE_IDENTITY()