SQL Server queries all tables in the database, listing the table names and the number of each table

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

Guess you like

Origin blog.csdn.net/weixin_45467975/article/details/129731343