Sobes.tech
Junior — Middle

¿Cómo iniciar una nueva transacción en el sistema de gestión de bases de datos?

sobes.tech AI

Respuesta de la IA

En Go, para trabajar con transacciones en bases de datos, generalmente se utiliza el paquete database/sql. Para iniciar una nueva transacción, se llama al método Begin() en el objeto *sql.DB. Este método devuelve un objeto *sql.Tx, que representa la transacción. Luego, con los métodos Commit() o Rollback(), se puede confirmar o cancelar la transacción.

Ejemplo:

import (
    "database/sql"
    _ "github.com/lib/pq" // controlador para PostgreSQL
)

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

    // Realizar operaciones dentro de la transacción
    _, err = tx.Exec("INSERT INTO users(name) VALUES($1)", "Alice")
    if err != nil {
        tx.Rollback() // cancelar la transacción en caso de error
        return err
    }

    return tx.Commit() // confirmar la transacción
}