我的目标是创建一个包含当前数据库中所有表的电子表格,该电子表格将显示表名称和每个表中的行数。一个额外的好处是还可以显示表中最后一次输入或更改的时间。我不确定最后一部分是否可行。
到目前为止,这就是我所拥有的...没什么,但是我无法绕过如何增加每个表的行数的想法。
SELECT name, type, type_desc
FROM [scheme].sys.all_objects
WHERE type = 'U'
您可以对系统目录视图使用此查询:
SELECT
t.NAME AS TableName,
p.rows AS RowCounts
FROM
sys.tables t
INNER JOIN
sys.indexes i ON t.OBJECT_ID = i.object_id
INNER JOIN
sys.partitions p ON i.object_id = p.OBJECT_ID AND i.index_id = p.index_id
WHERE
t.NAME NOT LIKE 'dt%'
AND t.is_ms_shipped = 0
AND i.OBJECT_ID > 255
GROUP BY
t.Name, p.Rows
ORDER BY
t.Name
以获得所需的结果-当前数据库中的所有表,以及每个表中的行数。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句