Sobes.tech
Junior — Middle

Ako začať novú transakciu v systéme správy databáz?

sobes.tech AI

Odpoveď od AI

V jazyku Go sa na prácu s transakciami v databázach zvyčajne používa balíček database/sql. Na začatie novej transakcie sa volá metóda Begin() na objekte *sql.DB. Táto metóda vráti objekt *sql.Tx, ktorý reprezentuje transakciu. Následne je možné transakciu potvrdiť alebo zrušiť pomocou metód Commit() alebo Rollback().

Príklad:

import (
    "database/sql"
    _ "github.com/lib/pq" // ovládač pre PostgreSQL
)

func príklad(db *sql.DB) error {
    tx, err := db.Begin()
    if err != nil {
        return err
    }

    // Vykonanie operácií v rámci transakcie
    _, err = tx.Exec("INSERT INTO users(name) VALUES($1)", "Alice")
    if err != nil {
        tx.Rollback() // zrušenie transakcie pri chybe
        return err
    }

    return tx.Commit() // potvrdenie transakcie
}