Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
学ぶ チャレンジ:トランザクションの分離レベルを指定する | セクション
SQL最適化とクエリ機能
セクション 1.  7
single

single

bookチャレンジ:トランザクションの分離レベルを指定する

メニューを表示するにはスワイプしてください

このチャレンジでは、資金移動中のデータ整合性を確保するために、トランザクションの分離レベルを設定する方法を実践します。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つのトランザクション内で実行。

解答

Switch to desktop実践的な練習のためにデスクトップに切り替える下記のオプションのいずれかを利用して、現在の場所から続行する
すべて明確でしたか?

どのように改善できますか?

フィードバックありがとうございます!

セクション 1.  7
single

single

AIに質問する

expand

AIに質問する

ChatGPT

何でも質問するか、提案された質問の1つを試してチャットを始めてください

some-alt