Update com Join

2 respostas
A

QUando tento fazer uma alteração em um registro
ele está alterando todos, alguem sabe me dizer aonde estou errando

procurei meios de utilizar um update com join porem esse foi o unico que consegui

segue o codigo, acredito que é na hora do join no update mais nao to conseguindo fazer de outra forma
a, o banco que uso é o postgres

<% }
		   else 
		   {
		   
	   String sqlfuncionario = ("update funcionario set fun_foto='"+request.getParameter("tf_foto")+
	   "',"+"fun_cargo='"+request.getParameter("lista_cargo")+
	   "' where fun_codigo="+request.getParameter("tf_codigo"));


	   String sqltelefone = ("update telefone set tel_numero='"+request.getParameter("tf_numerotelefone")+
	   "',"+"tel_ddd='"+request.getParameter("tf_ddd")+
	   "',"+"tel_tipo='"+request.getParameter("tf_tipo")+
	   "' from telefone t inner join pessoa p on t.tel_pessoa = p.pes_codigo inner join funcionario f on p.pes_codigo = f.fun_pessoa where f.fun_codigo="+request.getParameter("tf_codigo"));
	    
	   
	   String sqlendereco = ("update endereco set end_numero='"+request.getParameter("tf_numeroendereco")+
	   "',"+"end_cep='"+request.getParameter("tf_cep")+
	   "',"+"end_bairro='"+request.getParameter("tf_bairro")+
	   "',"+"end_cidade='"+request.getParameter("tf_cidade")+
	   "',"+"end_uf='"+request.getParameter("tf_uf")+
	   "',"+"end_rua='"+request.getParameter("tf_rua")+
	   "',"+"end_complemento='"+request.getParameter("tf_complemento")+
	   "' from endereco e inner join pessoa p on e.end_pessoa = p.pes_codigo inner join funcionario f on p.pes_codigo = f.fun_pessoa where f.fun_codigo="+request.getParameter("tf_codigo"));
	   
	   String sqlpessoa = ("update pessoa set pes_nome='"+request.getParameter("tf_nome")+
	   "',"+"pes_rg='"+request.getParameter("tf_rg")+
	   "',"+"pes_cpf='"+request.getParameter("tf_cpf")+
	   "',"+"pes_datanascimento='"+request.getParameter("tf_datanascimento")+
	   "',"+"pes_datacadastro='"+request.getParameter("tf_datacadastro")+
	   "',"+"pes_sexo='"+request.getParameter("rb_sexo")+
	   "' from pessoa p inner join funcionario f on p.pes_codigo = f.fun_pessoa where f.fun_codigo="+request.getParameter("tf_codigo"));
					  
					  
					st.executeUpdate(sqlfuncionario);
					st.executeUpdate(sqltelefone);
					st.executeUpdate(sqlendereco);
					st.executeUpdate(sqlpessoa);
			  	    response.sendRedirect("funcionario.jsp");
				  
	   
		     
		}%>
</body>
</html>

2 Respostas

A

alguem?

A
Criado 26 de outubro de 2010
Ultima resposta 27 de out. de 2010
Respostas 2
Participantes 1