-- MSSQL

DB내 모든 테이블 전체행 수 구하는 방법 두가지

어린왕자악꿍 2009. 6. 12. 17:58

1. sysindexes와 sysobjects 테이블을 조인하여 구하기

SELECT object_name (i.id) TableName, rows as RowCnt
FROM sysindexes i INNER JOIN sysObjects o ON (o.id = i.id AND o.xType = 'U')
WHERE indid < 2
ORDER BY TableName


2. 비공개 프로시져  sp_MSforeachtable 를 이용하기

CREATE TABLE #temp (TableName VARCHAR (255), RowCnt INT)
EXEC sp_MSforeachtable 'INSERT INTO #temp SELECT ''?'', COUNT(*) FROM ?'
SELECT TableName, RowCnt FROM #temp ORDER BY TableName
DROP TABLE #temp