如何找到自增字段identity列的空缺/间隔记录

 

  
  
  
  
  1. --在自增字段中寻找第一个空挡记录(被删除的自增字段值)  
  2. --建立测试表  
  3. create table #idtable  
  4. (  
  5.     id int identity(1,1),  
  6.     name varchar(20)  
  7. )  
  8. go  
  9. --写入测试数据  
  10. insert into #idtable  
  11. select '1' union all 
  12. select '2' union all 
  13. select '3' union all 
  14. select '4' union all 
  15. select '5' union all 
  16. select '6' 
  17. go  
  18. --删除某条记录  
  19. delete #idtable where name='4' 
  20. go  
  21. --查询第一个空挡记录(id值为rows字段值)  
  22. select top 1 * from (  
  23. select *,ROW_NUMBER() over(order by id) as rows  from #idtable   
  24. ) t  
  25. where t.id>t.rows 
  26. --如果要插入这个id,需要使用set identity_insert on 来显示的插入identity字段。使用后要关闭。 

 

你可能感兴趣的:(职场,记录,休闲,identity)