Sobes.tech
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
}