Update com subselect no firebird

18/07/2017

0

Boa tarde pessoal estou com um problema para atualizar uma tabela no firebird. O problema é que preciso pegar os dados de outra tabela para atualizar a que quero.
Fiz através de subselect mas além de não atualizar, apaga os dados da tabela de onde estou buscando os dados.
Olha como estou fazendo:

update itenspedido set itenspedido.custo = (select precos.custo from precos where precos.item = 1)

No caso esse produto na tabela preço está com valor de 5,00, mas quando executo esse update ele passa a ficar 0,00 na tabela preco e a tabela itenspedido não altera.
Ederson

Ederson

Responder

Posts

15/08/2017

Douglas Souza

Meu caro, boa tarde.

O update que você está realizando considera que todas as linhas da tabela "itenspedido" serão afetadas pela atualização do seu subselect que provavelmente tem seu retorno como 0. Ou seja, a coluna custo receberá o valor de seu subselect e será sempre o mesmo valor para todas as linhas de sua tabela "itenspedido".

É interessante você postar a relação entre as tabelas itenspedido e preco, pois assim fica mais fácil de demonstrar como você pode resolver o problema ;)

Um forte abraço.

Att, Douglas Claudio.
Responder

Assista grátis a nossa aula inaugural

Assitir aula

Saiba por que programar é uma questão de
sobrevivência e como aprender sem riscos

Assistir agora

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

Aceitar