Fórum Problemas com SQL #237731

15/06/2004

0

:D Olá mossada ....
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

Mitsalito

Responder

Posts

15/06/2004

Flaviosan

Caro Guerra, tambem tenho esse problema. Essa é uma deficiencia presente no mysql 3.XX, que só foi solucionada apartir da versão 4.XX.
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.


Responder

Gostei + 0

15/06/2004

Mitsalito

Caro flaviosan valeu a inteção, mas a query não passou, e sobre a verssão do MySql a principio a empresa em que trabalho não está disposta a trocar para o 4.
Mas, o nosso DBA já está estudando a troca


Responder

Gostei + 0

15/06/2004

Flaviosan

Desculpe não ter dito, mas a sql é pra versão 4.xx.


Responder

Gostei + 0

15/06/2004

Christ

Kra o negócio é você usar sempre um código SQL padrão de preferência o padrão universal ANSI, pois alguns SGDB´s como access, SQL server e Oracle criam particularidades e isso se torna um problemão quando você usa um código feito em um banco e usa no outro.

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.


Responder

Gostei + 0

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar