1

トランザクションでは、いくつかの一時テーブルを作成し、いくつかのデータを挿入しました。すべてがうまくいけば、一時テーブルが削除され、トランザクションがコミットされます。例外がある場合、接続は閉じられます。

私の質問は、接続を閉じる前にトランザクションをロールバックする必要がありますか? または、接続が閉じられている限り、問題ありませんか?

ロールバックすると、トランザクションで作成された一時テーブルも削除 (ロールバック) されると思いますよね?

ありがとう

4

2 に答える 2

4

範囲外の一時テーブルは削除されます。

ただし、トランザクションを開いているときに接続が失われると、孤立したトランザクションが作成され、トランザクションが保持しているロックは残ります。

SET XACT_ABORT を使用すると、実行時エラーが発生するとすぐにトランザクションがロールバックされます。

http://msdn.microsoft.com/en-us/library/ms188792.aspx

于 2013-02-06T21:52:52.920 に答える
2

一時テーブルは、範囲外になるとすぐに削除されます。接続を閉じると、ロールバックするかどうかに関係なく、接続は範囲外になります。

于 2013-02-06T21:50:03.417 に答える