2013-01-10 77 views
0

如何使所有表中的所有記錄中的樣本數據庫,下面的查詢返回的所有表記錄計數。但我想要示例數據庫中所有表的所有記錄。獲取所有表中的所有記錄在同一個數據庫

SELECT TableName = o.name, 
     Rows = max(i.rows) 
FROM  sysobjects o 
     INNER JOIN sysindexes i 
      ON o.id = i.id 
GROUP BY o.name 
ORDER BY Rows DESC 
+0

然後'mysql'或'SQL server'。我認爲'sql server'。 –

+0

什麼是您的數據庫? –

+2

有沒有'在MySQL sysobjects'表,所以這是SQL Server中。刪除Mysql標記,因爲沒有跡象表明這需要跨平臺... – Bridge

回答

3

您可以使用無證(*)的存儲過程在數據庫中運行對每個表的查詢:

exec sp_MSforeachtable 'select * from ?' 

這將返回一個結果爲每個表設置。如果你想在表名作爲一個單獨的列:

exec sp_MSforeachtable 'select ''?'' as TableName,* from ?' 

有沒有簡單的方法來得到的只是一個結果,因爲設定,在一般情況下,都在一個數據庫中的表中的列將不與各個兼容其他。


(*)希望這裏的危險是顯而易見的。它是無證,所以它是可能的,它會消失,或者基於任何維修操作改變施加到SQL Server。另一方面,我懷疑他們會永遠刪除它,並且它裏面沒有任何特殊的魔力。對於帶和揹帶,你可能想的程序複製到自己的數據庫,根據不同的名稱,然後你可以依靠它不被改變。

相關問題