SQL Server 查询数据库中所有表,列出表名和每个表的数量

use [resset2]
declare @Tablename nvarchar(50),@sqlstring nvarchar(100),@ALLSQLstring  nvarchar(100),@num bigint
declare @TablenameList table
(
       Tablename nvarchar(50),
       LineNumber bigint
)
declare CursorResults cursor for
select name from sysobjects where xtype='u'
open CursorResults
fetch next from CursorResults into @Tablename
while @@FETCH_STATUS=0
begin
              set @ALLSQLstring=N'select @a=count(1) from '+ @Tablename
              exec sp_executesql @ALLSQLstring,N' @a bigint output',@num output
              insert into @TablenameList values(@Tablename,@num)
              print @sqlstring
              fetch next from CursorResults into @Tablename
end
       select * from @TablenameList
close CursorResults
deallocate CursorResults

猜你喜欢

转载自blog.csdn.net/weixin_45467975/article/details/129731343