SQL Server 2000:如何获取表列表和行数?

Jus*_*808 7 t-sql sql-server-2000 count

我知道我可以获得一个表的列表

SELECT TABLE_NAME FROM information_schema.tables 
WHERE NOT TABLE_NAME='sysdiagrams' 
  AND TABLE_SCHEMA = 'dbo' 
  AND TABLE_TYPE= 'BASE TABLE'
Run Code Online (Sandbox Code Playgroud)

但是我不知道如何修改它以获得具有表的当前行数的第二列.我虽然喜欢这样的东西:

DECLARE @tbl VARCHAR(200)
(SELECT @tbl = TABLE_NAME, TABLE_NAME,
(SELECT COUNT(ID) AS Cnt FROM @tbl)
FROM information_schema.tables 
WHERE NOT TABLE_NAME='sysdiagrams' 
  AND TABLE_SCHEMA = 'dbo' 
  AND TABLE_TYPE= 'BASE TABLE')
Run Code Online (Sandbox Code Playgroud)

我知道上面是不是有效的T-SQL,但我认为它得到的我会是什么点喜欢的做的事.这适用于SQL Server 2000.如果可能的话,我宁愿不使用存储过程.

Mar*_*ith 15

快速而肮脏的方式(包括未提交的更改以及可能在堆上的转发指针)

select o.name, rows 
from sysindexes i join sysobjects o on o.id=i.id
where indid < 2 and type='U'
Run Code Online (Sandbox Code Playgroud)