• 締切済み

SQL実行エラー時のロールバックについて

クエリアナライザを使用し、以下のような複数のステートメントを実行するクエリを流します。 「BEGIN TRANSACTION TRAN_X INSERT文1; INSERT文2; UPDATE文3; …」 最終的に成功したら commit、途中でエラーが出たらrollbackしたいと考えています。 @@ERRORでなくJAVAでいう「try~catch」またはVBでいう「ON ERROR」構文のようなものはないのでしょうか? どなたかご教授お願いします。

みんなの回答

  • 7marine
  • ベストアンサー率36% (59/160)
回答No.1

無いと思います。 Insert,Updateを行ったその都度 @@Errorを取得、If文で処理を分岐の方法で対応するしかできないのではないのでしょうか

nitirich
質問者

補足

やはり、その方法しかないのでしょうか・・。 現在はSQL Server2000なのですが、2005からは「tyr~catch」のような方法があるようです。 http://www.microsoft.com/japan/technet/prodtechnol/sql/2005/maintain/sqlydba.mspx お手数おかけしました。ありがとうございました。

関連するQ&A