【发布时间】:2020-08-23 12:55:11
【问题描述】:
我正在尝试使用以下语句回滚事务:
BEGIN CATCH
IF SUM(Point FROM Players) != 4000
ROLLBACK TRANSACTION [Tran1]
但我收到一条错误消息:
'SUM' 不是可识别的内置函数名称
如何正确编写代码?
【问题讨论】:
标签: sql-server transactions try-catch rollback
我正在尝试使用以下语句回滚事务:
BEGIN CATCH
IF SUM(Point FROM Players) != 4000
ROLLBACK TRANSACTION [Tran1]
但我收到一条错误消息:
'SUM' 不是可识别的内置函数名称
如何正确编写代码?
【问题讨论】:
标签: sql-server transactions try-catch rollback
使用你SUM 的上下文是错误的。 SUM 采用标量表达式,它不使用 {expression} FROM {object} 语法。
使用子查询:
IF (SELECT SUM(Point) FROM dbo.Players) <> 4000
...
【讨论】: