MulaiMulai sekarang secara gratis

Tingkat isolasi dan transaksi

SERIALIZABLE adalah tingkat isolasi yang mengambil snapshot dari rekaman saat kueri pertama atau pernyataan update dijalankan, dan menghasilkan error jika data diubah dengan cara apa pun di luar transaksi. Perhatikan bahwa transaksi dapat melakukan pekerjaan lain, seperti mendeklarasikan variabel, sebelum kueri pertama.

Anda akan kembali menggunakan himpunan data FFIEC untuk bekerja dengan data di mana perubahan tahunan pada simpanan tabungan RCON0352 dipengaruhi oleh offset yang besar.

Latihan ini adalah bagian dari kursus

Transaksi dan Penanganan Error di PostgreSQL

Lihat Kursus

Petunjuk latihan

  • Mulai transaksi dalam mode SERIALIZABLE.
  • Perbarui semua rekaman yang RCON0352-nya lebih besar dari 100.000 dengan pengurangan 50%.
  • COMMIT transaksi.
  • Pilih jumlah rekaman yang masih memiliki RCON0352 lebih besar dari 100.000.

Latihan interaktif praktis

Cobalah latihan ini dengan menyelesaikan kode contoh berikut.

-- 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;
Edit dan Jalankan Kode