-1
A
回答
1
啊,但你不必使用動態sql這樣的東西。你可以改用表格分區。
這應該適合你。有一點需要注意的是,這可能並非總是100%準確,但我從來沒有看到過它是不正確的。根據文檔,它是「分區中的大概行數」。
create function GetTableRowCount
(
@TableName sysname
) returns table as return
SELECT SUM(row_count) AS MyRowCount
FROM sys.dm_db_partition_stats
WHERE object_id = OBJECT_ID(@TableName)
GROUP BY OBJECT_NAME(object_id);
這甚至是一個內聯表值函數,而不是更常用的標量函數。
相關問題
- 1. SQL函數 - 返回表中的記錄數值
- 2. 如何從postgresql 9中的函數返回表,行或記錄?
- 3. 從T-SQL函數返回視圖中的記錄數
- 4. 函數參數,返回數據庫表中的所有記錄
- 5. 從函數返回記錄
- 6. 如何在SQL Server 2008 R2中返回函數中的記錄
- 7. 球拍函數返回所有總和小於給定數字的數字嗎?
- 8. 返回每行記錄的計數SQL
- 9. 的SQL Server:最大記錄數返回
- 10. SQL - 計數返回的記錄
- 11. 包裝返回記錄的OCaml函數
- 12. 排序函數返回的setof記錄
- 13. 返回列表中給定數字之前的數字
- 14. Python函數返回的值小於數字列表中的值
- 15. 函數返回表。 pl/sql
- 16. remove函數返回false應該在散列表中的記錄
- 17. VBS確定SQL表中的記錄數
- 18. 基於集合函數的SQL返回
- 19. 返回MS SQL Server中的數據子集的總記錄數
- 20. PHP/CodeIgniter遞歸函數從自引用sql表中返回記錄
- 21. 使用函數來插入記錄或返回ID值
- 22. SQL - 返回不包含特定行的表中的記錄組
- 23. 如何返回給定月份的連接記錄數?
- 24. 如何從函數返回setof記錄?
- 25. PostgreSQL遞歸函數返回記錄集
- 26. 如何從函數返回記錄集
- 27. excel vba函數返回記錄集
- 28. PostgreSQL函數返回所有記錄
- 29. 返回表的Oracle過程或函數
- 30. 使用min(list_1,key = func)的python表達式返回列表中的最大數字小於給定數字
@DStanley問題是針對SQL Server的 – Lamak
由於SQL Server函數不能使用動態SQL,因此無法在SQL Server中創建函數來執行此操作(至少不是凡人)。你可以用存儲過程來做到這一點,但這不是你的問題。 –
如果你實際上並不需要確切的數字,你可以使用:'SELECT SUM(rows)FROM sys.partitions WHERE [object_id] = OBJECT_ID('dbo.YourTable')AND index_id IN(0,1);'。它非常快速,不需要動態SQL – Lamak