Sql-Server
這是 SQL Server 的 ROLLBACK 文件中的錯誤嗎?
這是 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
以下是文件頁面的摘錄:回滾
$$ WORK $$ $$ ; $$ 此語句的功能與 ROLLBACK TRANSACTION 相同,只是 ROLLBACK TRANSACTION 接受使用者定義的事務名稱。無論是否指定可選的 WORK 關鍵字,此 ROLLBACK 語法都與 ISO 兼容。
嵌套事務時,ROLLBACK WORK 總是回滾到最外面的 BEGIN TRANSACTION 語句,並將@@TRANCOUNT 系統函式遞減為 0。
注意這同樣適用於類似的
COMMIT TRANSACTION
和COMMIT WORK
語句。