In generale, selezionando il MAX(log_id) non ti darà lo stesso valore che logid_seq.nextval fornito. Supponendo che si tratti di un sistema multiutente, un altro utente potrebbe aver inserito un'altra riga con un log_id più grande valore rispetto alla riga appena inserita prima dell'esecuzione della query.
Supponendo che entrambi INSERT le istruzioni vengono eseguite nella stessa sessione, l'opzione più semplice è probabilmente quella di utilizzare logid_seq.currval nel secondo INSERT dichiarazione. currval restituirà l'ultimo valore della sequenza che è stato restituito alla sessione corrente, quindi restituirà sempre lo stesso valore generato da nextval chiama nella prima affermazione.
INSERT INTO tableB (LOG_ID, RESPONSE_CODE, RESPONSE_MSG)
VALUES( logid_seq.currval, ?, ? )
In alternativa, puoi utilizzare il RETURNING clausola nella prima istruzione per recuperare il valore della sequenza in una variabile locale e utilizzarlo nella seconda INSERT dichiarazione. Ma probabilmente è più lavoro che usare semplicemente il currval .