select @@IDENTITY
select max([ID]) from tablename

解决方案 »

  1.   

    如果你的ID是identity,可以@@identity,
    如果table有個create_date欄位,默認值是getdate(),也可以找max(create_date)
      

  2.   

    select id from tablename order by id desc
    id=tablename.id
      

  3.   

    select id from table where ((keycols=insertedkeycols))
    --按照插入数据中可以确定唯一记录的条件查询-
      

  4.   

    copy jobs002(Oh! Office) 
      方法一。SELECT max(id) from tablename
      方法二。@@IDENTITY
      

  5.   

    对于存在并发存储的情况,尤其是对于需要用主子表等多个表,都使用某个表的字段值(如:ID)时,可以换一个角度考虑:保存时,先用Select max(ID) from 表名获取最大ID,在本地加1后,本地的几个相关表都可以使用新生成的ID。这样能保证存到后台时,相关的几个表保存的ID都是相同的。而若出现ID已存在的情况,重新获取一次即可。
      

  6.   

    您好,我们是“2006中国杰出数据库工程师评选”活动组委会。
    您的帖子已经被我们转载到本次评选官方网站的“专家在线答疑”区。
    http://www.bestdba.cn/match_discussion.aspx在那里,进入本次评选终选的30位数据库工程师将与您展开积极的互动。他们会为您的问题提供满意的答案,此外,您还可以在“专家在线答疑”区提出新的问题并参与讨论。您的帖子位于:
    http://www.bestdba.cn/match_discussion3.aspx?pointid=565&pointid2=1&pointid3=5&pcount=stc
    非常感谢您对本次活动的支持!
      

  7.   

    wangtiecheng提出的方法是一种变通方式,但是这样操作在并发存储频繁是的效率是个问题啊。
    我想说的是在并发情况下, 使用@@IDENTITY取的值会不会受到其他用户操作的影响,也几就是说,我使用@@IDENTITY取出的值是不是我真正插入的数据的?请哪为大人解释一二。
      

  8.   

    并发情况下,会有@@IDENTITY取出的值是不是我真正插入的数据的情况。
    最好不要用IDENTITY字段,使用程序生成的GUID等随机数。
    对以后倒数据、同步数据也有好处。
      

  9.   

    插入操作后用:
    select IDENT_CURRENT('table_name')