我如何测试表值函数?

时间:2015-06-09 11:13:54

标签: sql database ssms mssql-jdbc

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

ERROR:

   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?

谢谢

Sitansu

这是:

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 

3 个答案:

答案 0 :(得分:1)

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

Technet - Table Valued Functions

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

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

答案 1 :(得分:0)

右键单击您的函数并选择脚本函数作为/ select to / new query editor window。然后只需替换要测试的值。

答案 2 :(得分:0)

你也可以在变量top side声明,然后使用'set'来指定值。 一旦你完成测试注释通过set变量sql脚本声明变量。将它们留在测试目的总是好的。

OR

像我之前的评论说的那样。硬编码每个参数的值。测试并用params替换。