这是 SQL Server 的文档中谈到的ROLLBACK
语句。在该页面上,它声明它的语法如下:
ROLLBACK { TRAN | TRANSACTION }
[ transaction_name | @tran_name_variable
| savepoint_name | @savepoint_variable ]
[ ; ]
显然方括号内的内容是可选的,看来您应该从TRAN
或中选择一个TRASACTION
。但实际上你可以完全省略两者,这ROLLBACK
是一个完全有效的陈述。这是一个错误还是故意的?
该
ROLLBACK TRANSACTION
文档是正确的,尽管在没有其他上下文的情况下不清楚。ROLLBACK
是类似ROLLBACK WORK
语句的简写,而不是ROLLBACK TRANSACTION
.ROLLBACK WORK
以下是文档页面的摘录:注意这同样适用于类似的
COMMIT TRANSACTION
和COMMIT WORK
语句。