首页 > 数据库技术 > 详细

查找数据库里所有表当前的最大id

时间:2014-09-23 11:46:05      阅读:306      评论:0      收藏:0      [点我收藏+]

今天要统计一下数据库里所有表当前的最大id,一个一个查太麻烦了,就写了一个存储过程,方便今后继续使用。


CREATE PROCEDURE [dbo].[get_tableid] AS 

 
CREATE TABLE  #tablespaceinfo                         --创建结果存储表 
              (nameinfo varchar(50) ,  
               max_idinfo int ) 
 
 
DECLARE @tablename varchar(255)  --表名称 
DECLARE @max_idinfo int


DECLARE Info_cursor CURSOR FOR  
SELECT o.name   
FROM dbo.sysobjects o WHERE OBJECTPROPERTY(o.id, N‘IsTable‘) = 1  
     and o.name not like N‘#%%‘  ORDER BY o.name 
 
OPEN Info_cursor 
 
FETCH NEXT FROM Info_cursor  
INTO @tablename  
 
WHILE @@FETCH_STATUS = 0 
BEGIN 
if exists (select * from dbo.sysobjects where id = object_id(@tablename) and OBJECTPROPERTY(id, N‘IsUserTable‘) = 1) 
BEGIN
SELECT  @max_idinfo=IDENT_CURRENT(@tablename)
INSERT #tablespaceinfo (nameinfo,max_idinfo) 
VALUES (@tablename,@max_idinfo)
END


  FETCH NEXT FROM Info_cursor  
  INTO @tablename  
END
CLOSE Info_cursor 
DEALLOCATE Info_cursor
SELECT * FROM #tablespaceinfo ORDER BY nameinfo DESC

查找数据库里所有表当前的最大id

原文:http://blog.csdn.net/hehuii/article/details/39496099

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!