Escriu per cercar…

Transaction

Una transacció agrupa diverses sentències en una sola operació, que o passa sencera o no passa gens.

S'ensenya a
Bases de dadesEntitatDAMDAWDAW-BIO

Introducció

Transferir 200 € d’un compte a un altre són dues sentències:

sql
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:

ps
sqlite bank.db
sql
create table accounts (
    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);
sql
select * from accounts;
1|Eva Vilaregut|1200.0
2|Jordi Salvat|300.0
3|Roser Aymerich|4500.0

Estàs llegint una vista prèvia.

Inicia sessió amb Google per llegir la pàgina completa.

Inicia sessió amb Google

Amb qualsevol compte de Google. Només et demanarem que acceptis les condicions del servei.