Sobes.tech
Junior — Middle

Jak wyodrębnić i przetworzyć cztery oddzielne żądania z operacji wsadowej?

sobes.tech AI

Odpowiedź od AI

W Go, jeśli masz operację zbiorczą zawierającą wiele zapytań, możesz je wyodrębnić i przetwarzać oddzielnie, na przykład jeśli są to zapytania SQL oddzielone średnikiem.

Przykład przetwarzania czterech oddzielnych zapytań z jednej linii:

package main

import (
    "fmt"
    "strings"
)

func main() {
    batch := `SELECT * FROM users; INSERT INTO logs VALUES ('log1'); UPDATE users SET active=1; DELETE FROM sessions;`

    // Podziel łańcuch na podstawie znaku ';'
    queries := strings.Split(batch, ";")

    for i, q := range queries {
        q = strings.TrimSpace(q)
        if q == "" {
            continue
        }
        fmt.Printf("Zapytanie %d: %s\n", i+1, q)
        // Tutaj można przetworzyć każde zapytanie osobno
    }
}

Jeśli operacja zbiorcza jest dostarczana w postaci danych ustrukturyzowanych (np. tablica zapytań), po prostu iteruj po nich i przetwarzaj pojedynczo.