1. 学习
  2. /
  3. 课程
  4. /
  5. SQL Server におけるトランザクションとエラー処理

Connected

练习

XACT_ABORT と THROW

あなたが働く銀行の最も裕福な顧客が、非営利団体に current_balance の 0.01% を寄付することにしました。あなたは顧客口座を更新するスクリプトの作成を任されていますが、対象は current_balance が $5,000,000 を超える口座だけです。銀行のディレクターからは、裕福な顧客が少なくとも 10 人いない場合はこの操作を実施しないようにと言われています。追加で顧客にインタビューしたいからです。

あなたはスクリプトを用意し、いくつかある方法の中から XACT_ABORT と THROW を組み合わせて使うことにしました。こうすることで、影響を受ける行数が 10 以下であればエラーを発生させ、トランザクションをロールバックできます。

说明

100 XP
  • XACT_ABORT を適切に設定してください。
  • トランザクションを開始します。
  • 影響を受けた行数が 10 以下の場合は、THROW 文を使ってエラー番号 55000 を投げてください。
  • 影響を受けた行数が 10 を超える場合は、トランザクションを COMMIT します。