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 merupakan bagian dari kursus
Transaksi dan Penanganan Kesalahan di SQL Server
Instruksi latihan
- Tetapkan tingkat isolasi
READ UNCOMMITTED. - Pilih
first_name,last_name,email, danphonedari tabelcustomers.
Latihan interaktif langsung praktik
Cobalah latihan ini dengan melengkapi kode contoh ini.
-- Set the appropriate isolation level
___ TRANSACTION ___ LEVEL ___ ___
-- Select first_name, last_name, email and phone
SELECT
___,
___,
___,
___
FROM customers;