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

Mức cô lập và giao dịch

SERIALIZABLE là một mức cô lập chụp nhanh bản ghi tại thời điểm câu lệnh truy vấn hoặc cập nhật đầu tiên được thực thi và sẽ báo lỗi nếu dữ liệu bị thay đổi theo bất kỳ cách nào bên ngoài giao dịch. Lưu ý rằng giao dịch có thể thực hiện các công việc khác, như khai báo biến, trước truy vấn đầu tiên.

Bạn sẽ tiếp tục dùng bộ dữ liệu FFIEC để làm việc với dữ liệu mà biến động hàng năm của khoản tiền gửi tiết kiệm RCON0352 bị ảnh hưởng bởi một giá trị bù lớn.

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 PostgreSQL

Xem khóa học

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

  • Bắt đầu một giao dịch ở chế độ SERIALIZABLE.
  • Cập nhật tất cả bản ghi có RCON0352 lớn hơn 100.000 bằng cách giảm 50%.
  • COMMIT giao dịch.
  • Chọn số lượng bản ghi vẫn còn RCON0352 lớn hơn 100.000.

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.

-- Create a new transaction with a serializiable isolation level
___ TRANSACTION ISOLATION LEVEL ___;

-- Update records with a 50% reduction if greater than 100000
___ ffiec_reci
SET ___ = ___ * 0.5
WHERE RCON0352 > 100000;

-- Commit the transaction
___;

-- Select a count of records still over 100000
SELECT ___(RCON0352)
FROM ___
WHERE RCON0352 > 100000;
Chỉnh sửa và Chạy Mã