Buongiorno, sono abbastanza nuovo e questo è il mio primo topic "serio"
PREMESSA
Le mie nozioni di SQL si limitano a quelle scolastiche (industriale con indirizzo informatica), perdonate l'ignoranza.
Sto usando un database Postgres e sto sviluppando (parolone) un programmino in java che inserisca i valori su una tabella tramite il risultato di una select. Avendo fatto la select e poi, sul resultset, costruito l'insert, il mio mentore mi ha detto che avrei potuto fare l'insert direttamente col risultato della query precedente e mi ha mostrato qualche esempio.
Il problema è che nella tabella io non devo inserire solo l'id_cliente (risultato della query) ma altri valori e l'id appena citato deve comparire 3 volte assieme agli altri valori (due dei quali variabili). Mi chiedevo se anche così fosse possibile farlo in un unico insert+query.
Copincollo la porzione di codice interessata
String queryInserimento = "SELECT c.id_cliente FROM public.cliente c JOIN public.alert ON c.id_cliente=alert.id_cliente WHERE c.id_cliente<>alert.id_cliente AND c.id_cliente::text not like '%0'";
ResultSet res = d.executeQuery(queryInserimento);
String query;
Statement stm = con.createStatement();
while (res.next()){
System.out.println("MACIAO"); //prova in output per vedere se è entrato nel ciclo
int []saldo={200,100,50};
long cl=res.getLong("id_cliente");
for(int i=1; i<4; i++){
query = "INSERT INTO alert (numero_alert, id_cliente, saldo_alert, inviato) VALUES (" + i + ", " + cl + "," + saldo[i - 1] + ", TRUE)";
stm.execute(query);
}
}
Grazie a tutti in anticipo
Baci, ilGuglia.
P.S.: (credo non si possa fare però, nel dubbio, chiedo...)