Junior — Middle
Como iniciar uma nova transação no sistema de gestão de base de dados?
sobes.tech IA
Resposta da IA
Em Go, para trabalhar com transações em bases de dados, geralmente é utilizado o pacote database/sql. Para iniciar uma nova transação, chama-se o método Begin() no objeto *sql.DB. Este método devolve um objeto *sql.Tx, que representa a transação. Depois, com os métodos Commit() ou Rollback(), pode-se confirmar ou cancelar a transação.
Exemplo:
import (
"database/sql"
_ "github.com/lib/pq" // driver para PostgreSQL
)
func exemplo(db *sql.DB) error {
tx, err := db.Begin()
if err != nil {
return err
}
// Executar operações dentro da transação
_, err = tx.Exec("INSERT INTO users(name) VALUES($1)", "Alice")
if err != nil {
tx.Rollback() // cancelar a transação em caso de erro
return err
}
return tx.Commit() // confirmar a transação
}