Junior — Middle
Cum se inițiază o tranzacție nouă în sistemul de gestionare a bazei de date?
sobes.tech AI
Răspuns de la AI
În Go, pentru a lucra cu tranzacții în baze de date, de obicei se folosește pachetul database/sql. Pentru a iniția o tranzacție nouă, se apelează metoda Begin() pe obiectul *sql.DB. Această metodă returnează un obiect *sql.Tx, care reprezintă tranzacția. Apoi, cu metodele Commit() sau Rollback(), se poate confirma sau anula tranzacția.
Exemplu:
import (
"database/sql"
_ "github.com/lib/pq" // driver pentru PostgreSQL
)
func exemplu(db *sql.DB) error {
tx, err := db.Begin()
if err != nil {
return err
}
// Executarea operațiilor în cadrul tranzacției
_, err = tx.Exec("INSERT INTO users(name) VALUES($1)", "Alice")
if err != nil {
tx.Rollback() // anularea tranzacției în caz de eroare
return err
}
return tx.Commit() // confirmarea tranzacției
}