Olá pessoal, tenho 2 tabelas (produtos e entrada_produtos), a tabela entrada_produtos armazena dados da aquisição de produtos. Então eu quero actualizar ambas tabelas, sendo que (produto.stock = produto.stock + entrada_produtos.quantidade_entrada), estou usando join das 2 tabelas, porem não consigo actualizar as tabelas.
tentei desta maneira:
public void registaEntrada() throws SQLException {
PreparedStatement stmt = null;
String query = "select * from produtos inner join entrada_produtos "
+ "on produtos.codigo = entrada_produtos.codigo_produto "
+ "where entrada_produtos.numero_entrada like ? ";
stmt = conexao.prepareStatement(query);
ResultSet rs = stmt.executeQuery();
while (rs.next()) {
Entrada_produtos ep = new Entrada_produtos();
stmt = conexao.prepareStatement("update entrada_produtos set codigo_produto=?, custo_unitario=?, "
+ "data_entrada=?, quantidade_entrada=? where numero_entrada=? ");
stmt.setInt(1, ep.getCodigo_produto());
stmt.setFloat(2, ep.getCusto_unitario());
stmt.setString(3, ep.getData_entrada());
stmt.setInt(4, ep.getQuantidade_entrada());
stmt.setInt(5, ep.getNumero_entrada());
stmt.execute();
int qtdStock = rs.getInt("stock");
int qtdEntrada = rs.getInt("quantidade_entrada");
int stock = qtdStock + qtdEntrada;
String sql = "update produtos set stock =? where codigo like ? ";
stmt = conexao.prepareStatement(sql);
stmt.setInt(1, stock);
stmt.setInt(2, rs.getInt("codigo"));
stmt.execute();
}
rs.close();
stmt.close();
}