在视图中获取行数的元数据

时间:2019-01-08 13:08:38

标签: sql sql-server metadata

在使用sys.table的情况下,如何在以下查询中使用sys.views返回视图中的行数

SELECT t.NAME AS table_name,
       s.name AS owner,
       p.[Rows] as NUM_ROWS,
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 inner join
     sys.schemas s on s.schema_id = t.schema_id
WHERE t.NAME NOT LIKE 'dt%' AND i.OBJECT_ID > 255 AND 
      i.index_id <= 1 /* AND
            s.name in ('Schemaname1','Schemaname2') */
GROUP BY t.NAME, i.object_id, i.index_id, i.name,s.name, p.[Rows]
ORDER BY object_name(i.object_id) ;

1 个答案:

答案 0 :(得分:0)

您遇到了语法问题,在NUM_ROWS之后的查询中出现了一个逗号?

SELECT t.NAME AS table_name,
       s.name AS owner,
       p.[Rows] as NUM_ROWS /*, remove this comma*/
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 inner join
     sys.schemas s on s.schema_id = t.schema_id
WHERE t.NAME NOT LIKE 'dt%' AND i.OBJECT_ID > 255 AND 
      i.index_id <= 1 /* AND
            s.name in ('Schemaname1','Schemaname2') */
GROUP BY t.NAME, i.object_id, i.index_id, i.name,s.name, p.[Rows]
ORDER BY object_name(i.object_id) ;
相关问题