BEGIN TRANSACTION [ISOLATION LEVEL level]
[statements]
BEGIN TRANSACTION ステートメントを使用すると、トランザクションの開始を宣言できます。
ISOLATION LEVEL 節は、トランザクションの行われている間のトランザクションの分離レベルを設定できます。分離レベルは、トランザクションが終了すると元の値に戻ります。
level は、以下の 1 つと評価される式です。
| 整数 | キーワード | このトランザクションへの影響 |
|---|---|---|
| 0 | NO.ISOLATION | 更新の消失を防止します。1 |
| 1 | READ.UNCOMMITTED | 更新の消失を防止します。 |
| 2 | READ.COMMITTED | 更新の消失とダーティー・リードを防止します。 |
| 3 | REPEATABLE.READ | 更新の消失、ダーティー・リード、および繰り返し不能な読み取りを防止します。 |
| 4 | SERIALIZABLE | 更新の消失、ダーティー・リード、繰り返し不能な読み取り、およびファントム書き込みを防止します。 |
1ISOMODE 構成パラメーターが 1 または 2 に設定されている場合は、更新の消失は防止されます。
次の 2 つの例では、トランザクションが分離レベル 3 で開始されます。
BEGIN TRANSACTION ISOLATION LEVEL REPEATABLE.READ
BEGIN TRANSACTION ISOLATION LEVEL 3