问题描述
我正在尝试使用以下语句回滚事务:
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
...