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 la sessió amb Google per llegir la pàgina sencera.

Inicia la sessió amb Google

Només et demanarem que acceptis les condicions del servei.