1. Học hỏi
  2. /
  3. Khoa Học
  4. /
  5. Giao dịch và Xử lý lỗi trong SQL Server

Connected

Bài tập

Sử dụng mức cô lập READ UNCOMMITTED

Một khách hàng mới đến ngân hàng của bạn để mở tài khoản. Bạn nhập dữ liệu của cô ấy vào hệ thống, kích hoạt một script như sau:

BEGIN TRAN

  INSERT INTO customers (first_name, last_name, email, phone)
  VALUES ('Ann', 'Ros', '[email protected]', '555555555')

  DECLARE @cust_id INT = scope_identity()

  INSERT INTO accounts (account_number, customer_id, current_balance)
  VALUES ('55555555555010121212', @cust_id, 150)

COMMIT TRAN

Ngay lúc đó, đồng nghiệp ở bộ phận marketing bắt đầu gửi email cho mọi khách hàng. Sắp có một cuộc bốc thăm trúng thưởng xe hơi! Script anh ấy chạy sẽ lấy dữ liệu của mọi khách hàng, bao gồm cả khách hàng cuối cùng mà bạn vừa chèn. Script này bắt đầu chạy sau khi lệnh chèn đầu tiên xảy ra nhưng trước COMMIT TRAN.

Sao lại có thể như vậy?

Hướng dẫn

100 XP
  • Đặt mức cô lập READ UNCOMMITTED.
  • Chọn first_name, last_name, email và phone từ bảng customers.