我遇到了SQL Server 2008的问题,我想编写一个返回特定列总和的函数,代码如下:
CREATE FUNCTION [dbo].[GetIssuesSum](@i int)
RETURNS int
AS
BEGIN
DECLARE @IssueSum int
SELECT SUM (@IssueSum = Quantity)
FROM Issue
RETURN @IssueSum
END
当我尝试执行它时,SQL Server 2008会抛出此错误
Msg 102,Level 15,State 1,Procedure GetIssuesSum,Line 15
' ='附近的语法不正确。
有什么建议吗?提前致谢
答案 0 :(得分:1)
您需要使用此代码:
CREATE FUNCTION [dbo].[GetIssuesSum](@i int)
RETURNS int
AS
BEGIN
DECLARE @IssueSum int
SELECT @IssueSum = SUM(Quantity)
FROM Issue
RETURN @IssueSum
END
您需要将SUM(Quantity)
分配给SQL变量 - 而不是SUM()
表达式中的SQL变量