SQL Server 2000无法在查询中使用TVF

时间:2018-11-16 19:57:03

标签: sql-server

我正在使用SQL Server 2000,并且创建了如下所示的TVF:

CREATE FUNCTION [dbo].[fn_GetName]
    (@ID NVARCHAR(MAX))
RETURNS TABLE
AS
    RETURN 
        SELECT Name
        FROM 
            (SELECT FirstName + ' ' + LastName Name
             FROM UserProfile
             WHERE 1 = 1
               AND UserID = @ID

             UNION 

             SELECT FirstName + ' ' + MiddleName + ' ' + LastName Name
             FROM Student
             WHERE 1 = 1
               AND StudentID = @ID
               AND Deleted IS NULL) query;

我正在尝试在此查询中使用它:

SELECT un.Name AS UserName
FROM UserProfile up (NOLOCK)
CROSS APPLY (SELECT Name FROM dbo.fn_GetName(up.UserID)) un

运行查询时出现此错误:

  

第15级州立19行第102条消息
  '。'附近的语法不正确。

只要是重要的话,TVF的输入值就是GUID。有人可以让我知道我在做错什么,以及如何更改查询以使用创建的TVF吗?预先感谢。

0 个答案:

没有答案