首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 数据库 > SQL Server >

向表中插入记录后,怎样取得自增字段的值,该如何解决

2012-01-24 
向表中插入记录后,怎样取得自增字段的值表A,结构如下,其中ID为自增字段:CREATETABLE[dbo].[SalesOrder]([I

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

热点排行