给定一个包含许多表的数据库 (Sybase),我想编写一个 SQL 查询来计算每个表的行数和列数。
不幸的是,我的 SQL 有点生疏了。我可以生成表名:
select name from sysobjects where type = 'U'
但是如何绑定(bind)返回给T的数据库:
select count(*) from T
超出我的范围。甚至有可能做这种事情吗?
最佳答案
我不使用 Sybase,但在线文档表明行数在 systabstats
中,列在 syscolumns
中。
SELECT sysobjects.name,
(SELECT COUNT(*) FROM syscolumns WHERE syscolumns.id = sysobjects.id) AS cols,
systabstats.rowcnt
FROM sysobjects
JOIN systabstats
ON (sysobjects.id = systabstats.id AND sysobjects.type = 'U' AND systabstats.indid = 0)
关于sql - 生成数据库指标的简单查询?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4252129/