Sobes.tech
Junior — Middle

Hoe start je een nieuwe transactie in het databasebeheersysteem?

sobes.tech AI

Antwoord van AI

In Go wordt voor het werken met transacties in databases meestal het pakket database/sql gebruikt. Om een nieuwe transactie te starten, wordt de methode Begin() aangeroepen op het object *sql.DB. Deze methode geeft een object *sql.Tx terug, dat de transactie vertegenwoordigt. Daarna kunnen met de methoden Commit() of Rollback() de transactie worden bevestigd of geannuleerd.

Voorbeeld:

import (
    "database/sql"
    _ "github.com/lib/pq" // driver voor PostgreSQL
)

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

    // Uitvoeren van operaties binnen de transactie
    _, err = tx.Exec("INSERT INTO users(name) VALUES($1)", "Alice")
    if err != nil {
        tx.Rollback() // transactie terugdraaien bij fout
        return err
    }

    return tx.Commit() // transactie bevestigen
}