我在存储过程中插入一条记录时(有可能,同时有很多人也在插入数据),然后返回这条记录的自动编号
我用@@identity返回,不知道返回的是不是我当前插入的这条?
如果不是,那怎样做才是安全的呢?
请教各位!!!

解决方案 »

  1.   

    这样呢
    SELECT MAX(ID) FROM 
      

  2.   

    create table myRes(
      resID int identity(1,1),
      code varchar(20),
      name varchar(100))insert into myRes(code,name)values("1021","my goods")
    select @@Identity
      

  3.   

    insert后直接写select @@ide..取的就是你插入行的ID
      

  4.   

    是,你在插入数据的时候SQL自己会维护1个锁,保证你在插入数据的时候别人不会同时插入.
      

  5.   

    在添加的时候,lock,添加完,获取@@identity后,unlock