Beberapa savepoint dan rollback

Transaksi dan Penanganan Error di PostgreSQL

Jason Myers

Principal Engineer

Beberapa savepoint

BEGIN TRANSACTION;

UPDATE inventory SET quantity = quantity - 1 WHERE name in ('flour', 'sugar');

SAVEPOINT inventory_step;

INSERT baking_list SET quantity=12 WHERE name='Torun';

SAVEPOINT queuing_step;

UPDATE cookies SET quantity = 12 WHERE name = 'Torun';
Transaksi dan Penanganan Error di PostgreSQL

Penggandaan nama savepoint

  • SAVEPOINT baru dengan nama yang sama seperti sebelumnya dalam transaksi yang sama akan menimpa bayangannya, bukan menulis ulang atau melepaskannya!
  • Secara umum hindari memakai ulang nama dalam satu transaksi.
Transaksi dan Penanganan Error di PostgreSQL

Contoh nama savepoint duplikat

BEGIN TRANSACTION;

UPDATE inventory SET quantity = quantity - 1 WHERE name in ('flour', 'sugar');

SAVEPOINT oops;

INSERT baking_list SET quantity=12 WHERE name='Torun';

SAVEPOINT oops;

UPDATE cookies SET quantity = 12 WHERE name = 'Torun';
Transaksi dan Penanganan Error di PostgreSQL

Ayo berlatih!

Transaksi dan Penanganan Error di PostgreSQL

Preparing Video For Download...