表tb,有两列(ID、Name,其中ID自动增长)
ID int identity(1,1) not null 
Name varchar(50) not null对tb表进行多次插入、删除操作之后,实际最大ID比如说是18;但是此时表中数据最大ID是16,也就说ID=17的记录删除掉了。请问,有没有这样一条SQL语句,可以查询tb表此时ID列的实际最大值(18)。

解决方案 »

  1.   

    select max(ID) from tb
    你会查询出16
    我要查询出实际最大ID,也就是此时标识列增长到多少了;要查询出18.
      

  2.   

    select max(ID) from tb 
    你会查询出16 
    我要查询出实际最大ID,也就是此时标识列增长到多少了;要查询出18.
      

  3.   

    select MAX(ID) FROM tableName;
      

  4.   

    select max(ID) from tb 
    你会查询出16 
    我要查询出实际最大ID,也就是此时标识列增长到多少了;要查询出18.ID=17的记录被删除掉了,select max(ID) from tb 会得到此时的最大ID值16,
    我怎么知道此时标识列ID增长到多大了,也就说我怎么查询出此时的实际最大ID值。
      

  5.   

    这样查询出来的是表中显示的最大ID值
    我想得到的是时间ID值,就是自动增长的ID此时增长到多大了。
      

  6.   

    试下这个吧  @@IDENTITY
    可能有用吧``我也不确定``
      

  7.   


    select SCOPE_IDENTITY()返回上面操作的数据表最后row的IDENTITY列的值SELECT   @@IDENTITY返回上面操作最后一个表的最后row的IDENTITY列的值-----
    SCOPE_IDENTITY()函数以及全局变量@@IDENTITY,是用在存储过程中的,而且使得到的是此时显示的ID值。针对我列举的实例,SCOPE_IDENTITY()函数以及全局变量@@IDENTITY会返回16.我想知道的是有没有这样一条SQL语句查询出实际最大ID,而不是表中显示最大ID。
      

  8.   

    select SCOPE_IDENTITY() 返回上面操作的数据表最后row的IDENTITY列的值 SELECT  @@IDENTITY 返回上面操作最后一个表的最后row的IDENTITY列的值 ----- 
    SCOPE_IDENTITY()函数以及全局变量@@IDENTITY,是用在存储过程中的,而且使得到的是此时显示的ID值。针对我列举的实例,SCOPE_IDENTITY()函数以及全局变量@@IDENTITY会返回16. 我想知道的是有没有这样一条SQL语句查询出实际最大ID,而不是表中显示最大ID。 
      

  9.   

    你既然ID是自动增长的,那说明最后一个插入的数据ID也是最大的咯``
      

  10.   

    LZ``我帮你试过了``就算你删除了你最后插入的记录, select  @@IDENTITY还是查询出最后插入的ID
      

  11.   

    DBCC CHECKIDENT (表名, NORESEED)
      

  12.   

    select max(ID) from tb 
    你会查询出16 
    我要查询出实际最大ID,也就是此时标识列增长到多少了;要查询出18. ID=17的记录被删除掉了,select max(ID) from tb 会得到此时的最大ID值16, 
    我怎么知道此时标识列ID增长到多大了,也就说我怎么查询出此时的实际最大ID值。
      

  13.   

    对tb表进行多次插入、删除操作之后,实际最大ID比如说是18;但是此时表中数据最大ID是16,也就说ID=17的记录删除掉了。此时显示的16并不是ID实际增长到的值,ID实际值是18.
      

  14.   

    select top 1 ID from tb order by ID desc
      

  15.   

    SCOPE_IDENTITY()函数以及全局变量@@IDENTITY,是用在存储过程中的。select SCOPE_IDENTITY() 返回上面操作的数据表最后row的IDENTITY列的值 SELECT  @@IDENTITY 返回上面操作最后一个表的最后row的IDENTITY列的值 
    你只有执行插入操作后,才返回此时最大的ID。
      

  16.   

    哥们,你这个和
    select max(ID) from tb
    没什么区别
      

  17.   

    感谢各位的回复
    答案如下:select ident_current(@tableName)--获取表标识列的最后生成的标识值