Mengembalikan ke savepoint

Transaksi dan Penanganan Error di PostgreSQL

Jason Myers

Principal Engineer

Tanpa savepoint

BEGIN TRANSACTION;

UPDATE cost = 2.33 WHERE name = 'Linga';

UPDATE cost = 500 WHERE name = 'Macaron';

ROLLBACK;
Transaksi dan Penanganan Error di PostgreSQL

Menggunakan savepoint dan rollback terarah

BEGIN TRANSACTION;

UPDATE cost = 2.33 WHERE name = 'Linga';

SAVEPOINT oops;
UPDATE cost = 500 WHERE name = 'Macaron';
ROLLBACK TO oops;
Transaksi dan Penanganan Error di PostgreSQL

Melepas savepoint saat selesai

BEGIN TRANSACTION;

UPDATE cost = 2.33 WHERE name = 'Linga';
UPDATE cost = 2.33 WHERE name = 'Petit-Beurre';
UPDATE cost = 2.33 WHERE name = 'Rosette';

SAVEPOINT oops;

UPDATE cost = 5.00 WHERE name = 'Macaron';
UPDATE cost = 3.50 WHERE name = 'Panellets';
RELEASE SAVEPOINT oops;
Transaksi dan Penanganan Error di PostgreSQL

Dua hal penting tentang rollback dan savepoint

  • ROLLBACK tanpa TO akan membatalkan seluruh transaksi
  • ROLLBACK TO ___ dengan ___ bukan nama savepoint yang valid akan menimbulkan error
Transaksi dan Penanganan Error di PostgreSQL

Ayo berlatih!

Transaksi dan Penanganan Error di PostgreSQL

Preparing Video For Download...