SQL Server では、SQL ステートメントごとにエラーをチェックする必要があります。たとえば、1 つのトランザクションで 3 つの更新がある場合、次のようなコードが必要です。
declare @HasError int
begin tran
Update tab1 set ....
Set @HasError = @@error;
Update tab2 set ...
Set @HasError = @@error;
Update tab3 set ...
Set @HasError = @@error;
If @HasError<>0
rollback tran;
else
commit tran;
この場合、より単純なコードを使用した他の解決策はありますか? たとえば、c# スタイルのようなもの:
begin tran
try
{
Update tab1 set ....
Update tab2 set ...
Update tab3 set ...
commit tran;
}catch(error){
rollback tran;
}