Sobes.tech
Middle

O que é uma transação?

sobes.tech IA

Resposta da IA

Uma transação é uma sequência de operações que é executada como uma única unidade. No contexto de bases de dados, uma transação garante que todas as operações dentro dela sejam concluídas com sucesso juntas, ou, em caso de erro, sejam revertidas para não deixar o sistema em um estado inconsistente. Em Go, as transações são frequentemente usadas com bancos de dados através do pacote database/sql.

Exemplo de uso de transação em Go:

// db — objeto *sql.DB
ctx := context.Background()
tx, err := db.BeginTx(ctx, nil)
if err != nil {
    log.Fatal(err)
}

_, err = tx.ExecContext(ctx, "INSERT INTO users(name) VALUES(?)", "Alice")
if err != nil {
    tx.Rollback()
    log.Fatal(err)
}

err = tx.Commit()
if err != nil {
    log.Fatal(err)
}

Aqui, as operações de inserção são realizadas dentro de uma transação, que é ou confirmada ou revertida em caso de erro.