1. Learn
  2. /
  3. Courses
  4. /
  5. Giao dịch và Xử lý lỗi trong SQL Server

Connected

Exercise

XACT_ABORT và THROW

Những khách hàng giàu nhất của ngân hàng nơi bạn làm việc đã quyết định quyên góp 0,01% current_balance của họ cho một tổ chức phi lợi nhuận. Bạn phụ trách chuẩn bị script để cập nhật tài khoản khách hàng, nhưng chỉ thực hiện cho các tài khoản có current_balance trên 5.000.000 đô la. Giám đốc ngân hàng nói rằng nếu không có ít nhất 10 khách hàng giàu, bạn không nên thực hiện thao tác này vì bà ấy muốn phỏng vấn thêm khách hàng.

Bạn chuẩn bị một script, và trong nhiều cách có thể làm, bạn quyết định dùng XACT_ABORT kết hợp với THROW. Bằng cách này, nếu số dòng bị ảnh hưởng nhỏ hơn hoặc bằng 10, bạn có thể ném lỗi để giao dịch được rollback.

Instructions

100 XP
  • Dùng thiết lập phù hợp cho XACT_ABORT.
  • Bắt đầu giao dịch.
  • Nếu số dòng bị ảnh hưởng nhỏ hơn hoặc bằng 10, ném lỗi bằng câu lệnh THROW với số lỗi 55000.
  • COMMIT giao dịch nếu số dòng bị ảnh hưởng lớn hơn 10.