Transaction
Una transacció agrupa diverses sentències en una sola operació, que o passa sencera o no passa gens.
Introducció
Transferir 200 € d’un compte a un altre són dues sentències:
update accounts set balance = balance - 200 where account_id = 1;
update accounts set balance = balance + 200 where account_id = 2;Entre la primera i la segona hi ha un instant en què els 200 € no són enlloc.
Si en aquell instant es va la llum, el programa peta o la segona sentència falla, els diners han desaparegut i la base de dades no ho sap.
Una transacció és la manera de dir-li a la base de dades que aquestes dues sentències són una sola operació: o passen totes dues, o no en passa cap.
Entorn de treball
Crea la base de dades bank.db:
sqlite bank.db (
account_id integer primary key,
owner text not null,
balance real not null check (balance >= 0)
);
insert into accounts (owner, balance) values
('Eva Vilaregut', 1200.0),
('Jordi Salvat', 300.0),
('Roser Aymerich', 4500.0);select * from accounts;
1|Eva Vilaregut|1200.0
2|Jordi Salvat|300.0
3|Roser Aymerich|4500.0Estàs llegint una vista prèvia.
Inicia sessió amb Google per llegir la pàgina completa.
Inicia sessió amb GoogleAmb qualsevol compte de Google. Només et demanarem que acceptis les condicions del servei.