/*创建一张表:表名Data,列名:表名,列数,预留空间,数据占用空间,索引占用空间,剩余空间*/ CREATE TABLE Data ( 表名 VARCHAR(100), 列数 VARCHAR(100), 预留空间 VARCHAR(100), 数据占用空间 VARCHAR(100), 索引占用空间 VARCHAR(100), 剩余空间 VARCHAR(100) ) /*申明变量*/ DECLARE @name VARCHAR(100) /*申明游标*/ DECLARE cur CURSOR FOR SELECT name FROM sysobjects WHERE xtype = 'u' ORDER BY name OPEN cur --打开游标 FETCH next FROM cur INTO @name --将提取结果代入游标 WHILE @@FETCH_STATUS = 0 --最近一条FETCH语句的标志 BEGIN INSERT INTO data EXEC Sp_spaceused @name PRINT @name FETCH next FROM cur INTO @name --将提取结果代入游标 END CLOSE cur --解除游标 DEALLOCATE cur --将游标内容代入最后结果 SELECT * FROM data ORDER BY 数据占用空间 DESC