Sobes.tech
Junior — Middle

Veritabanı ile çalışırken geçici tablolar nasıl kullanılır?

sobes.tech yapay zeka

AI'dan gelen yanıt

Veritabanındaki geçici tablolar, bir oturum veya işlem sırasında ara sonuçları veya geçici verileri depolamak için kullanılır. Karmaşık hesaplamalar yapmak, görevi aşamalara bölmek veya ana tabloya tekrar tekrar erişimi önlemek gerektiğinde faydalıdır.

Go (Golang) ile veritabanı üzerinde çalışırken, geçici tablolar SQL sorguları aracılığıyla oluşturulur ve veritabanı sürücüsü üzerinden gönderilir. Örneğin, geçici bir tablo oluşturabilir, verilerle doldurabilir, gerekli işlemleri yapabilir ve ardından oturum sona erdiğinde geçici tablo otomatik olarak silinir.

PostgreSQL'de Go kullanarak geçici tablo örneği:

import (
    "database/sql"
    _ "github.com/lib/pq"
    "log"
)

func useTempTable(db *sql.DB) error {
    // Geçici tablo oluştur
    _, err := db.Exec(`CREATE TEMP TABLE temp_users AS SELECT id, name FROM users WHERE active = true`)
    if err != nil {
        return err
    }

    // Geçici tabloyu sonraki sorgularda kullan
    rows, err := db.Query(`SELECT * FROM temp_users WHERE name LIKE 'A%'`)
    if err != nil {
        return err
    }
    defer rows.Close()

    for rows.Next() {
        var id int
        var name string
        if err := rows.Scan(&id, &name); err != nil {
            return err
        }
        log.Println(id, name)
    }
    return nil
}

Bu şekilde, geçici tablolar karmaşık sorguları optimize etmeye ve verilerin işlenme mantığını veritabanı içinde basitleştirmeye yardımcı olur.