English
 电子信箱
 加入收藏

  威盾防火墙 >> 新闻中心 >> 威盾新闻 >> 查找数据库里所有表当前的最大id

 

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

威盾防火墙 2014-12-07

 

 今天要统计一下数据库里所有表当前的最大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

相关内容: 最新内容:
数据库设计之主键的思考[2014-12-07]
SQL或HQL预编译语句,能够防止SQL注入,但是不能处理%和_特殊字[2014-12-07]
ASP木马Webshell的安全防范解决办法[2014-12-07]
如何用应用交付技术优化Oracle数据库?[2014-12-07]
黑客技巧:Google hacking实现以及应用[2014-12-07]
“小不点”伪装成播放软件下载恶意程序[2014-12-07]