一个Sql语句不可能完成用select @@identity返回

解决方案 »

  1.   

    select A+1 from table order by A
      

  2.   

    加个触发器?
    create trigger test
    on tablename
    after update
    as
      declare @i int
      select @i=A from inserted
      print @i
    go
      

  3.   

    我是在Web Services 中有这要求
    如果用Select @@identity 返回,那在多人同时访问的时候 ,会不会出错?
    比如在Insert into 后,Select @@identity  之前,又有一个用户insert into了一条记录  
    那返回的数会变了吗?
    会不会出现这个错误?????
      

  4.   

    那就用SCOPE_IDENTITY()函数SCOPE_IDENTITY、IDENT_CURRENT 和 @@IDENTITY 在功能上相似,因为它们都返回插入到 IDENTITY 列中的值。 IDENT_CURRENT 不受作用域和会话的限制,而受限于指定的表。IDENT_CURRENT 返回为任何会话和作用域中的特定表所生成的值。有关更多信息,请参见 IDENT_CURRENT。SCOPE_IDENTITY 和 @@IDENTITY 返回在当前会话中的任何表内所生成的最后一个标识值。但是,SCOPE_IDENTITY 只返回插入到当前作用域中的值;@@IDENTITY 不受限于特定的作用域。