Sql-Server
我可以更改事務中的表結構,然後在出現錯誤時將其回滾嗎?
我有一些
ALTER TABLE
我正在執行的語句。並非所有這些都有效(它們是執行 SQL 數據比較的結果),我想將它們分組到一些事務中,並在出現問題時回滾語句。這是可能的,還是只有可以回滾的數據?
BEGIN TRANSACTION BEGIN TRY ALTER TABLE1... ALTER TABLE2... -- Additional data/structural changes COMMIT END TRY BEGIN CATCH ROLLBACK; THROW; -- Only if you want reraise an exception (to determine the reason of the exception) END CATCH
是的,這是可能的。
大多數 DDL 語句可以在 SQL Server 中回滾(有一些例外,例如
CREATE DATABASE
)