Bắt đầu ngayBắt đầu miễn phí

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?

Bài tập này là một phần của khóa học

Giao dịch và Xử lý lỗi trong SQL Server

Xem khóa học

Hướng dẫn bài tập

  • Đặt mức cô lập READ UNCOMMITTED.
  • Chọn first_name, last_name, emailphone từ bảng customers.

Bài tập tương tác thực hành trực tiếp

Hãy thử làm bài tập này bằng cách hoàn thành đoạn mã mẫu này.

-- Set the appropriate isolation level
___ TRANSACTION ___ LEVEL ___ ___

	-- Select first_name, last_name, email and phone
	SELECT
    	___, 
        ___, 
        ___,
        ___
    FROM customers;
Chỉnh sửa và Chạy Mã