Sql server TSQL,在用户函数中重命名返回表的列

Sql server TSQL,在用户函数中重命名返回表的列,sql-server,tsql,function,rename,Sql Server,Tsql,Function,Rename,我已经定义了一个函数,它返回有两列的表。我是否可以重命名这些列,使生成的表如下所示: Press name | Sum of pages ? 我试着像这样做 Press AS 'Press name' nvarchar(255) 但是那不行。这就是你的意思吗 CREATE FUNCTION F_3 (@press nvarchar(255)) RETURNS @table TABLE ( [Press name] nvarchar(255), [S

我已经定义了一个函数,它返回有两列的表。我是否可以重命名这些列,使生成的表如下所示:

Press name  |  Sum of pages
?

我试着像这样做

Press AS 'Press name' nvarchar(255)
但是那不行。

这就是你的意思吗

CREATE FUNCTION F_3
(@press nvarchar(255))
RETURNS @table TABLE ( [Press name]  nvarchar(255),
                   [Sum of pages] int )
AS
BEGIN
    INSERT @table SELECT @press, SUM(Books.Pages)
    FROM Books, Press
    WHERE Press.Name = @press AND
        Books.Id_Press = Press.Id
    GROUP BY Press.Name

    RETURN
END
GO

SELECT * FROM F_3('BHV')
GO
我刚刚更改了函数的返回行。 除此之外,该函数的性能也很差,因为它不是内联表值函数。看看MSDN在

上给出的示例,“F_3”是您能想到的最好的函数名吗?
CREATE FUNCTION F_3
(@press nvarchar(255))
RETURNS @table TABLE ( [Press name]  nvarchar(255),
                   [Sum of pages] int )
AS
BEGIN
    INSERT @table SELECT @press, SUM(Books.Pages)
    FROM Books, Press
    WHERE Press.Name = @press AND
        Books.Id_Press = Press.Id
    GROUP BY Press.Name

    RETURN
END
GO

SELECT * FROM F_3('BHV')
GO