Fórum Problemas com SQL #237731
15/06/2004
0
Tenho a nescessidade de alterar um registro usando o comando SQL ´UPDATE´ porém na clausula ´WHERE´ desta query preciso fazer uma comparação à um campo de uma outra tabela.
O que quero saber é tem como usar artimanhas do SQL como o INNER JOIN em um UPDATE :?:
Obs.: Uso MySql Server
Mitsalito
Curtir tópico
+ 0Posts
15/06/2004
Flaviosan
Um exemplo do que eu fiz aqui:
update clientes, dependentes set dependentes.nome = ´fulano´ where ((dependentes.codcliente = clientes.codigo) and (clientes.nome = ´ciclano´))
Ficou complicado?
Espero ter ajudado.
Gostei + 0
15/06/2004
Mitsalito
Mas, o nosso DBA já está estudando a troca
Gostei + 0
15/06/2004
Flaviosan
Gostei + 0
15/06/2004
Christ
Aki na empresa onde eu trabalho eu tenho muitas queries que rodam exatamente iguais em diversos bancos, temos sistemas em MySQL (3.x.x e 4.xx), InterBase, SQL Server e Access, e as queries rodam numa boa.
essa coisa de usar INNER JOIN, LEFT JOIN isso é bobeira, pois isso são particularidades que de fato ajudam mas acabam sendo um problema se você precisar usar a query em outro SGDB.
Quanto ao seu problema no UPDATE eu já fiz isso que o amigo ´flaviosan´ te informou e deu certo e ainda portando o mesmo código em varios bancos.
dependendo da sua situação, uma alternativa seria fazer a comparação no código fonte do seu programa assim poderia matar o problema numa boa, algo como passar por parâmetro o valor da outra tabela que você quer comparar para o código do UPDATE.
é isso.
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)