表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)。
ID int identity(1,1) not null
Name varchar(50) not null对tb表进行多次插入、删除操作之后,实际最大ID比如说是18;但是此时表中数据最大ID是16,也就说ID=17的记录删除掉了。请问,有没有这样一条SQL语句,可以查询tb表此时ID列的实际最大值(18)。
你会查询出16
我要查询出实际最大ID,也就是此时标识列增长到多少了;要查询出18.
你会查询出16
我要查询出实际最大ID,也就是此时标识列增长到多少了;要查询出18.
你会查询出16
我要查询出实际最大ID,也就是此时标识列增长到多少了;要查询出18.ID=17的记录被删除掉了,select max(ID) from tb 会得到此时的最大ID值16,
我怎么知道此时标识列ID增长到多大了,也就说我怎么查询出此时的实际最大ID值。
我想得到的是时间ID值,就是自动增长的ID此时增长到多大了。
可能有用吧``我也不确定``
select SCOPE_IDENTITY()返回上面操作的数据表最后row的IDENTITY列的值SELECT @@IDENTITY返回上面操作最后一个表的最后row的IDENTITY列的值-----
SCOPE_IDENTITY()函数以及全局变量@@IDENTITY,是用在存储过程中的,而且使得到的是此时显示的ID值。针对我列举的实例,SCOPE_IDENTITY()函数以及全局变量@@IDENTITY会返回16.我想知道的是有没有这样一条SQL语句查询出实际最大ID,而不是表中显示最大ID。
SCOPE_IDENTITY()函数以及全局变量@@IDENTITY,是用在存储过程中的,而且使得到的是此时显示的ID值。针对我列举的实例,SCOPE_IDENTITY()函数以及全局变量@@IDENTITY会返回16. 我想知道的是有没有这样一条SQL语句查询出实际最大ID,而不是表中显示最大ID。
你会查询出16
我要查询出实际最大ID,也就是此时标识列增长到多少了;要查询出18. ID=17的记录被删除掉了,select max(ID) from tb 会得到此时的最大ID值16,
我怎么知道此时标识列ID增长到多大了,也就说我怎么查询出此时的实际最大ID值。
你只有执行插入操作后,才返回此时最大的ID。
select max(ID) from tb
没什么区别
答案如下:select ident_current(@tableName)--获取表标识列的最后生成的标识值