Sobes.tech
Middle

Ce este o tranzacție?

sobes.tech AI

Răspuns de la AI

O tranzacție este o secvență de operațiuni care se execută ca o unitate unică. În contextul bazelor de date, o tranzacție garantează că toate operațiunile din interiorul său fie finalizate cu succes împreună sau, în caz de eroare, sunt anulate pentru a nu lăsa sistemul într-o stare incoerentă. În Go, tranzacțiile sunt adesea utilizate cu bazele de date prin pachetul database/sql.

Exemplu de utilizare a unei tranzacții în Go:

// db — obiect *sql.DB
ctx := context.Background()
tx, err := db.BeginTx(ctx, nil)
if err != nil {
    log.Fatal(err)
}

_, err = tx.ExecContext(ctx, "INSERT INTO users(name) VALUES(?)", "Alice")
if err != nil {
    tx.Rollback()
    log.Fatal(err)
}

err = tx.Commit()
if err != nil {
    log.Fatal(err)
}

Aici, operațiunile de inserare sunt efectuate în cadrul unei tranzacții, care fie se confirmă, fie se anulează în caz de eroare.