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.