如何在Microsoft SQL Server的情況下檢索數據庫中沒有數據的所有表格(如表中沒有行)?
有什麼方法嗎?查找沒有數據的表格
7
A
回答
1
試試這個 -
WITH CTE AS
(
SELECT sc.name +'.'+ ta.name TableName
,SUM(pa.rows) RowCnt
FROM sys.tables ta
INNER JOIN sys.partitions pa
ON pa.OBJECT_ID = ta.OBJECT_ID
INNER JOIN sys.schemas sc
ON ta.schema_id = sc.schema_id
WHERE ta.is_ms_shipped = 0 AND pa.index_id IN (1,0)
GROUP BY sc.name,ta.name
)
SELECT * FROM CTE WHERE RowCnt = 0
+1
http:// blog.sqlauthority.com/2010/09/08/sql-server-find-row-count-in-table-find-largest-table-in-database-part-2/ – sumit
0
的聲明,我認爲是值得一提的是SET FMTONLY:
SET FMTONLY ON; SELECT * FROM SomeTable SET FMTONLY OFF;
沒有行被處理或發送當SET FMTONLY爲tu時,由於請求而向客戶端發送消息開啓。
這可以方便的原因是因爲您可以提供任何 查詢/存儲過程,並只返回結果集的元數據。
或者,如Shoaib's answer
嘗試說:
SELECT TOP 0 * FROM [TableName]
和使用的SqlDataAdapter填充DataSet,然後從該數據集 拿到表。
2
試試這個
SELECT TableName=OBJECT_NAME(OBJECT_ID) ,Data_Rows= SUM(row_count)
FROM sys.dm_db_partition_stats
WHERE index_id in (0 ,1)
GROUP BY OBJECT_ID
HAVING SUM(row_count) = 0
OR如果妳只需要用戶定義的表,然後使用這個
SELECT TableName=OBJECT_NAME(s.OBJECT_ID) ,Data_Rows= SUM(row_count)
FROM sys.dm_db_partition_stats s
JOIN sys.tables T
ON T.object_id = S.object_id
WHERE index_id in (0 ,1)
and T.type = 'U'
GROUP BY s.OBJECT_ID
HAVING SUM(row_count) = 0
0
要獲得空表的列表,我們可以使用下面的tsql -
EXEC sp_MSforeachtable 'IF NOT EXISTS (SELECT 1 FROM ?) PRINT ''?'' '
而且,爲了獲得其數據的至少一個排一個表的列表,我們可以使用下面的TSQL -
EXEC sp_MSforeachtable 'IF EXISTS (SELECT 1 FROM ?) PRINT ''?'' '
0
SELECT '[' + SCHEMA_NAME(t.schema_id) + '].[' + t.name + ']' AS fulltable_name, SCHEMA_NAME(t.schema_id) AS schema_name, t.name AS table_name,
i.rows
FROM sys.tables AS t INNER JOIN
sys.sysindexes AS i ON t.object_id = i.id AND i.indid < 2 and i.rows=0
這將是表中給出表名和行
相關問題
- 1. 查找數據庫中的表格
- 2. cakephp查找所有數據格式
- 3. 有沒有進行一維數據插值(表查找)
- 4. 發送沒有表格的POST數據
- 5. 在有數據的地方查找表格
- 6. 查找帶有數據值的表名
- 7. 沒有核心數據的僞數據表/電子表格
- 8. Asp .Net LINQ to SQL數據綁定,做一個「查找」沒有查找表?
- 9. 查找數據庫中沒有數據的最大Timespan
- 10. Mysql - 在所有數據庫中查找表格
- 11. 分組表格Zend沒有發佈第二表格的數據?
- 12. 表格數據高度沒有變化
- 13. php mysql表格沒有插入數據
- 14. 沒有數據庫登錄表格PHP
- 15. 查找表中有二進制數據
- 16. 查找該表有列數據
- 17. 如何編寫查詢以查找具有特定數據的數據庫中的所有表格
- 18. 在表格中查找行數(有空格的電話號碼)
- 19. 查找沒有有限值的pandas數據框的行索引
- 20. ImportHTML查找所有表格和列表
- 21. 查找表格的表示
- 22. 沒有找到GCOV數據
- 23. 查看所有表格中所有表格中的所有條目/數據
- 24. 在沒有jQuery的JavaScript中查找單擊表格單元格的行和列
- 25. 查找數據庫表
- 26. Linq查詢從數據表中查找最低價格
- 27. 深嵌套表格數據沒有進入數據庫,沒有錯誤
- 28. 水豚沒有找到表格字段
- 29. 機械化沒有找到表格
- 30. Excel - 高效查找表格中的數據的方法
http://blog.sqlauthority.com/2010/09/08/sql-server-find-row-count-in-table-find-largest-table-in-database-part-2/ – sumit