如何编写SQL Server标量函数来计算总和?

时间:2014-09-12 06:32:24

标签: database sql-server-2008 sum sql-function

我遇到了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
  ' ='附近的语法不正确。

有什么建议吗?提前致谢

1 个答案:

答案 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变量