SQL函数返回给定表

时间:2016-01-27 20:22:51

标签: sql sql-server

我想在SQL中创建一个以表名作为输入的简单函数 并返回该表的记录数。

我怎样才能创造出这样一种动态的“动态”。功能

1 个答案:

答案 0 :(得分: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);

这甚至是一个内联表值函数,而不是更常见的标量函数。