'SUM'不是公认的内置函数名称

问题描述

我正在尝试使用以下语句回滚事务:

BEGIN CATCH
    IF SUM(Point FROM Players) != 4000
        ROLLBACK TRANSACTION [Tran1]

但我收到一条错误消息:

'SUM'不是公认的内置函数名称

如何以正确的方式编写代码

解决方法

SUM所使用的上下文是错误的。 SUM采用标量表达式,不使用{expression} FROM {object}语法。

使用子查询:

IF (SELECT SUM(Point) FROM dbo.Players) <> 4000
...