Uptade Java

6 respostas
databasepostgresqljava
felipe1234

Estou querendo fazer um update em duas tabelas uma tabela chamados e outra chamada visita pesquisei e vi que teria que utilizar join mas apresenta o erro de sintaxe. em ou próximo a join e o
banco que estou utilizando é PostreSql

UPDATE tb_chamadas as chama set cha_nome=? cha_tipocontrato=? inner join tb_visitas as visi on as.cha_cod=visi.vi_cod where cha_cod=?

O erro de sintaxe. em ou próximo a join.

6 Respostas

drsmachado

Atualiza cada tabela individualmente e o erro indicado é devido à falta da cláusula FROM. Você só pode fazer join quando tem uma tabela definida.

Exemplo:

SELECT a.col1, a.col2, b.col1, b.col3 FROM tabela a INNER JOIN tabela b ON a.id = b.fka

drsmachado

Uma sintaxe válida seria UPDATE tabela a JOIN tabela b on a.id = b.fka set a.col1 = b.col2 where a.col1 = x (MySQL)
Créditos

felipe1234

como assim atulizar tabela individualmente ?

felipe1234

então man até pensei em fazer um update pra cada mas pra minha aplicação que estou fazendo não iria dar certo

drsmachado

Você está tentando usar join por que tem mais de uma tabela para atualizar, não?
O que eu sugiro, até mesmo por uma questão de controle, é fazer cada update isolado do outro.
UPDATE tb_chamadas as chama set cha_nome=? cha_tipocontrato=? where cha_cod = ?
e UPDATE tb_visitas as visi on as.cha_cod=visi.vi_cod ...

felipe1234

Então estou fazendo uma aplicação em que o update funcionaria só com um update inner join

Criado 13 de março de 2017
Ultima resposta 13 de mar. de 2017
Respostas 6
Participantes 2