Sobes.tech
Junior — Middle

Verilənlər bazası idarəetmə sistemində yeni əməliyyatı necə başlatmaq olar?

sobes.tech Süni İntellekt

AI-dan cavab

Go'da verilənlər bazası ilə işləmək üçün adətən database/sql paketi istifadə olunur. Yeni tranzaksiyanı başlatmaq üçün *sql.DB obyektində Begin() metodundan istifadə edilir. Bu metod *sql.Tx obyektini qaytarır, hansı ki, tranzaksiyanı təmsil edir. Sonra, Commit() və ya Rollback() metodları ilə tranzaksiya təsdiqlənə və ya ləğv edilə bilər.

Nümunə:

import (
    "database/sql"
    _ "github.com/lib/pq" // PostgreSQL üçün sürücü
)

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

    // Tranzaksiya çərçivəsində əməliyyatların həyata keçirilməsi
    _, err = tx.Exec("INSERT INTO users(name) VALUES($1)", "Alice")
    if err != nil {
        tx.Rollback() // Xəta baş verdikdə tranzaksiyanı ləğv et
        return err
    }

    return tx.Commit() // Tranzaksiyanı təsdiqlə
}