マルチステートメントで進捗と監査を登録

上級
トランザクション

マルチステートメントで進捗と監査を登録

ウィンドウ関数やサブクエリなど、複雑なSQL構文をマスターする上級問題です。

ブラウザ上でSQLを書いて解いてみましょう

ログインして挑戦できます

ログインして解く

問題文

BEGINからCOMMITまでのトランザクション内で、enrollmentsテーブルのid=1のprogressを80に更新し、practice_progress_auditテーブルに記録を追加してください。

使用テーブルと主な列

  • enrollmentsテーブル: 受講ID(id)、ユーザーID(user_id)、コースID(course_id)、受講日時(enrolled_at)、進捗率(progress)
  • practice_progress_auditテーブル: 進捗ID(id)、受講ID(enrollment_id)、メモ(note)、作成日時(created_at)

この問題で学べること

  • トランザクション の構文・考え方
  • 上級レベルのSQLクエリの書き方
  • ブラウザ上でSQLを実行して即座に結果を確認する練習

使用テーブル

enrollmentspractice_progress_audit

難易度・対象者

難易度上級
カテゴリトランザクション
対象者ウィンドウ関数やサブクエリなど、複雑なSQL構文をマスターする上級問題です。

関連問題


実際にSQLを書いて理解を深めましょう

ブラウザ上で実行できる採点付きSQLエディタで練習できます

ログインして解く
QSQL Quest