Este é o documento do SQL Server falando sobre a ROLLBACK
instrução. Nessa página, afirma que a sintaxe é a seguinte:
ROLLBACK { TRAN | TRANSACTION }
[ transaction_name | @tran_name_variable
| savepoint_name | @savepoint_variable ]
[ ; ]
Aparentemente, as coisas entre colchetes são opcionais e parece que você deve escolher um TRAN
ou TRASACTION
. Mas, na verdade, você pode omitir completamente ambos e ROLLBACK
é uma afirmação perfeitamente válida. Isso é um erro ou intencional?
A
ROLLBACK TRANSACTION
documentação está correta, embora não seja clara sem contexto adicional.ROLLBACK
é uma abreviação para aROLLBACK WORK
declaração semelhante em vez deROLLBACK TRANSACTION
. Abaixo está um trecho daROLLBACK WORK
página do documento:Observe que o mesmo se aplica às declarações semelhantes
COMMIT TRANSACTION
eCOMMIT WORK
.