MulaiMulai sekarang secara gratis

Rollback dengan savepoint

Melanjutkan dari latihan sebelumnya, ternyata bank dengan MMDA lebih dari $6 juta memiliki kemungkinan dua kali lebih besar untuk bertahan saat penurunan dibandingkan bank dengan MMDA antara $5–6 juta pada kelas aset yang sama. Di sini terdapat kesalahan pada kode contoh, dan kita perlu melakukan rollback ke savepoint untuk menjaga integritas data.

Latihan ini adalah bagian dari kursus

Transaksi dan Penanganan Error di PostgreSQL

Lihat Kursus

Petunjuk latihan

  • Di dalam sebuah transaksi, setel FIELD48 ke 'MMDA+' jika RCON6810 (jumlah MMDA) lebih besar dari $6 juta.
  • Tetapkan mmdaplus_flag_set sebagai savepoint.
  • Setel FIELD48 ke 'MMDA+' jika RCON6810 (jumlah MMDA) lebih besar dari $5 juta (ini adalah kesalahan).
  • Kembalikan ke mmdaplus_flag_set, akhiri transaksi, dan hitung rekaman 'MMDA+'.

Latihan interaktif praktis

Cobalah latihan ini dengan menyelesaikan kode contoh berikut.

BEGIN;

-- Set the flag to MMDA+ where the value is greater than $6 million
UPDATE ffiec_reci set FIELD48 = 'MMDA+' where RCON6810 > 6000000;

-- Set a Savepoint
___ mmdaplus_flag_set;

-- Mistakenly set the flag to MMDA+ where the value is greater than $5 million
UPDATE ffiec_reci set FIELD48 = 'MMDA+' where ___ > 5000000;

-- Rollback to savepoint
___ TO ___;

COMMIT;

-- Select count of records where the flag is MMDA+
SELECT count(FIELD48) from ffiec_reci where FIELD48 = 'MMDA+';
Edit dan Jalankan Kode