วิธีแรก
SELECT Count(*)
แต่ถ้ามีหลาย 100 table ล่ะ จะทำที่ละ table คงจะไม่ไหว
วิธีที่สอง Store Procedure
exec sp_msforeachtable @command1="SELECT '?' AS TableName, COUNT(*) as TblRowCount FROM ? ORDER BY TableName"
แต่ก็นานอยู่ดีกว่าจะได้
วิธีที่สาม เป็นวิธีใช้ประยุกต์ใช้ System Table ให้เกิดประโยชน์ครับ (มีเค้าอยู่ก็เอามาใช้ประโยชน์หน่อย)
SELECT CONVERT(char(10), t.TABLE_SCHEMA) AS Owner, CONVERT(char(25), t.TABLE_NAME) AS 'TABLE Name', MAX(i.[rows]) AS 'Record COUNT'
FROM sysindexes i INNER JOIN
INFORMATION_SCHEMA.TABLES t ON OBJECT_NAME(i.id) = t.TABLE_NAME
WHERE (t.TABLE_TYPE = 'BASE TABLE')
GROUP BY t.TABLE_SCHEMA, t.TABLE_NAME
No comments:
Post a Comment