Menggunakan tingkat isolasi READ UNCOMMITTED
Seorang klien baru mengunjungi bank Anda untuk membuka rekening. Anda memasukkan datanya ke dalam sistem, sehingga sebuah skrip seperti ini mulai berjalan:
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
Pada saat yang sama, rekan pemasaran Anda mulai mengirim email ke setiap pelanggan. Akan ada undian berhadiah mobil! Skrip yang ia jalankan mengambil data setiap pelanggan, termasuk pelanggan terakhir yang baru saja Anda masukkan. Skrip ini mulai berjalan setelah penyisipan pertama terjadi tetapi sebelum COMMIT TRAN.
Bagaimana bisa begitu?
Latihan ini adalah bagian dari kursus
Transaksi dan Penanganan Kesalahan di SQL Server
Petunjuk latihan
- Tetapkan tingkat isolasi
READ UNCOMMITTED. - Pilih
first_name,last_name,email, danphonedari tabelcustomers.
Latihan interaktif praktis
Cobalah latihan ini dengan menyelesaikan kode contoh berikut.
-- Set the appropriate isolation level
___ TRANSACTION ___ LEVEL ___ ___
-- Select first_name, last_name, email and phone
SELECT
___,
___,
___,
___
FROM customers;