日期:2014-05-18  浏览次数:20409 次

向表中插入记录后,怎样取得自增字段的值
表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()