Transactions and Error Handling in PostgreSQL
Jason Myers
Principal Engineer
BEGIN TRANSACTION;
UPDATE cost = 2.33 WHERE name = 'Linga';
UPDATE cost = 500 WHERE name = 'Macaron';
ROLLBACK;
BEGIN TRANSACTION; UPDATE cost = 2.33 WHERE name = 'Linga';SAVEPOINT oops;UPDATE cost = 500 WHERE name = 'Macaron';ROLLBACK TO oops;
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;
ROLLBACK ที่ไม่มี TO จะย้อนกลับทั้ง transactionROLLBACK TO ___ ที่ ___ ไม่ใช่ชื่อ savepoint ที่ถูกต้องจะเกิดข้อผิดพลาดTransactions and Error Handling in PostgreSQL