セクション 1. 章 7
single
チャレンジ:トランザクションの分離レベルを指定する
メニューを表示するにはスワイプしてください
このチャレンジでは、資金移動中のデータ整合性を確保するために、トランザクションの分離レベルを設定する方法を実践します。bank_accounts および transfers テーブルを使用し、2つの口座間で資金を移動する前に、分離レベルを Repeatable Read に設定するSQLトランザクションを作成することが目標です。このトランザクションはファントムリードが発生しないようにしなければなりません。つまり、トランザクション開始時に読み取った行の集合が、トランザクションの期間中に他の同時実行トランザクションによって関連データが挿入または変更されても変化しないことを保証します。
以下の手順を使用します:分離レベルの設定、トランザクションの開始、現在の残高の選択、残高の更新、transfers テーブルへのレコード挿入、トランザクションのコミット。トランザクションは、Repeatable Read分離レベルで要求される通り、ファントムリードに対して堅牢でなければなりません。
タスク
スワイプしてコーディングを開始
ファントムリードを防ぐために、Repeatable Read分離レベルを使用して、アカウント1からアカウント2へ1000.00を送金するSQLトランザクションの作成。
- トランザクション開始前に分離レベルをRepeatable Readに設定。
- アカウント1の残高から1000.00を減算。
- アカウント2の残高に1000.00を加算。
transfersテーブルに、正しいfrom_account、to_account、amountを指定して送金記録を挿入。- すべての変更を1つのトランザクション内で実行。
解答
すべて明確でしたか?
フィードバックありがとうございます!
セクション 1. 章 7
single
AIに質問する
AIに質問する
何でも質問するか、提案された質問の1つを試してチャットを始めてください