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