我在编写一个将表变量作为输入并返回该表中的总行数的函数时遇到了问题。
这是我的尝试:
CREATE FUNCTION fTableRows( @table TABLE )
RETURNS INT AS
BEGIN
RETURN( SELECT COUNT(*) FROM @table )
END
答案 0 :(得分:2)
如果在SQL Server 2008 +中执行此操作,则必须使用用户定义的数据类型 - 表。 可在此处找到好的解释:Pass table as parameter into SQL Udf
答案 1 :(得分:2)
CREATE FUNCTION getTableRows
(
@TableName VARCHAR(30)
)
RETURNS INT AS
BEGIN
RETURN( SELECT COUNT(*) FROM @TableName)
END