Fazer um update usando um select no firebird

06/08/2014

0

Olá a todos.

Estou com uma dúvida na criação de um comando em sql. Estou utilizando o ibexpert e o firebird 2.5.

Esse é o comando que estou tentando executar.
update tmovitens set tmovitens.codven1=tmov.codven1 select tmovitens.codven1, tmov.codven1 from tmov inner join tmovitens on (tmov.idmov = tmovitens.idmov) where tmov.idmov=tmovitens.idmov;


Outro comando que eu tentei foi:

update tmovitens set tmovitens.codven1=tmov.codven1 from tmov inner join tmovitens on (tmov.idmov = tmovitens.idmov)


Como vocês podem ver, eu quero passar o valor que está na tmov.codven1 para a tmovitens.codven1. A tabela da tmov é como se fosse a da venda e a outra é dos itens que estão na primeira.

No google eu encontrei isso: http://www.sv.com.br/como-fazer-um-update-com-um-select/

E foi essa lógica que eu utilizei e não deu certo, pois quando eu rodo no ibexpert, dá erro de sintaxe errada não reconhecendo o comando "from" ou o comando select.

Invalid token.
Dynamic SQL Error.
SQL error code = -104.
Token unknown - line 1, column 53.
from.


Os tópicos que eu vi nesse fórum nenhum estava batendo com o que eu estava tentando fazer, então resolvi criar esse.
João José

João José

Responder

Post mais votado

06/08/2014

boa tarde nao conheço muito bem mais veja se ajuda.

achei esse link... veja se ajuda.. http://social.msdn.microsoft.com/Forums/pt-BR/9304439c-b413-4c1f-ae1a-e282439b8c5a/update-no-firebird-com-mais-de-uma-tabela-como-fazer?forum=vscsharppt

Isaac Jose

Isaac Jose
Responder

Mais Posts

06/08/2014

Rafael Mota

Boa tarde!

Se o que você quer é que o campo codven1 da tabela tmovitens fique igual ao campo codven1 da tabela tmov, o comando sql deve ficar +ou- assim:

update tmovitens
       set tmovitens.codven1 = (select tmov.codven1 from tmov
                                where tmov.idmov=tmovitens.idmov)


Espero que ajude, abraços.
Responder

06/08/2014

João José

boa tarde nao conheço muito bem mais veja se ajuda.

achei esse link... veja se ajuda.. http://social.msdn.microsoft.com/Forums/pt-BR/9304439c-b413-4c1f-ae1a-e282439b8c5a/update-no-firebird-com-mais-de-uma-tabela-como-fazer?forum=vscsharppt


Acho que era isso que eu estava procurando.

Boa tarde!

Se o que você quer é que o campo codven1 da tabela tmovitens fique igual ao campo codven1 da tabela tmov, o comando sql deve ficar +ou- assim:

update tmovitens
       set tmovitens.codven1 = (select tmov.codven1 from tmov
                                where tmov.idmov=tmovitens.idmov)


Espero que ajude, abraços.


Deu certinho. Muito obrigado.
Responder

07/08/2014

William

Finalizando tópico!
Responder

Que tal ter acesso a um e-book gratuito que vai te ajudar muito nesse momento decisivo?

Ver ebook

Recomendado pra quem ainda não iniciou o estudos.

Eu quero
Ver ebook

Recomendado para quem está passando por dificuldades nessa etapa inicial

Eu quero

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

Aceitar