我如何测试 table 值函数?

How do i test the table value function?

我只是尝试执行以下查询。它给了我

错误:

   Msg 208, Level 16, State 3, Line 1
    Invalid object name 'dbo.f_getPeopleTabRowCounts'.



SELECT *
FROM dbo.f_getPeopleTabRowCounts(7424,'YYYYYYYYYYYYY','abcd','Y');

任何人都可以帮助我。

How do I test a Table-Valued Function in SQL Server Management Studio?

谢谢

斯坦苏

这里是:

SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
ALTER FUNCTION [dbo].[f_getPeopleTabRowCounts] (@PeopleRSN INT, @TabMask VARCHAR(10), @UserId VARCHAR (128), @enableRLS VARCHAR (1)) 
RETURNS VARCHAR(2000) 
AS 
BEGIN 

右键单击您的函数和 select 脚本函数 as/select to/new 查询编辑器 window。然后只需将 替换为您要测试的值即可。

您的函数没有返回 Table,因此不能是 Table 值函数,看起来很像标量值函数。

Technet - Table Valued Functions

要测试标量值函数,您应该使用

SELECT dbo.f_getPeopleTabRowCounts(7424,'YYYYYYYYYYYYY','abcd','Y');

您也可以在顶部声明变量,然后使用 'set' 为它们指定值。 完成测试后,通过 set variables sql 脚本注释掉 declare variables。将它们留在其中用于测试目的总是好的。

喜欢我之前说的评论。硬编码每个参数的值。测试并用参数替换回来。