Sobes.tech
Junior — Middle

Kaip pradėti naują sandorį duomenų bazės valdymo sistemoje?

sobes.tech AI

Atsakymas iš AI

Go kalboje, dirbant su duomenų bazėmis, dažniausiai naudojamas paketas database/sql. Norint pradėti naują transakciją, kviečiama metodas Begin() iš objekto *sql.DB. Šis metodas grąžina objektą *sql.Tx, kuris atstovauja transakciją. Vėliau, naudojant metodus Commit() arba Rollback(), galima patvirtinti arba atšaukti transakciją.

Pavyzdys:

import (
    "database/sql"
    _ "github.com/lib/pq" // PostgreSQL tvarkyklė
)

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

    // Operacijų vykdymas transakcijos metu
    _, err = tx.Exec("INSERT INTO users(name) VALUES($1)", "Alice")
    if err != nil {
        tx.Rollback() // atšaukti transakciją klaidos atveju
        return err
    }

    return tx.Commit() // patvirtinti transakciją
}