Sobes.tech
Middle

Kas yra sandoris?

sobes.tech AI

Atsakymas iš AI

Transakcija yra operacijų seka, kuri vykdoma kaip vienetas. Duomenų bazių kontekste, transakcija užtikrina, kad visos joje esančios operacijos bus sėkmingai užbaigtos kartu, arba, klaidos atveju, bus atšauktos, kad sistema liktų nuosekli. Go kalboje transakcijos dažnai naudojamos su duomenų bazėmis per database/sql paketą.

Pavyzdys, kaip naudoti transakciją Go:

// db — *sql.DB objektas
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)
}

Čia, įterpimo operacijos vykdomos transakcijos rėmuose, kurios arba patvirtinamos, arba atšaukiamos klaidos atveju.