UPDATE USANDO DUAS TABELAS NO IB6

11/03/2003

0

AI GALERA DO FORUM!!
GOSTARIA DE SABER UMA MANEIRA DE FAZER UM UPDATE USANDO DADOS DE DUAS TABELAS, USANDO SUBQUERYS... SEGUE ABAIXO UM 2 EXEMPLOS:
1: INSTRUÇÃO

UPDATE LOG_LOGRADOURO RUA
SET LOG_BAI_NOME = (SELECT BAI.BAI_NO FROM LOG_BAIRRO BAI
WHERE BAI.COD = RUA.COD ) WHERE RUA.CODBAIRRO = BAI.COD

2: PROCEDURE

FOR SELECT BAI.BAI_NO,RUA.CODBAIRRO FROM LOG_BAIRRO BAI,LOG_LOGRADOURO RUA WHERE WHERE RUA.CODBAIRRO = BAI.COD
INTO :BAINOME,:BAICOD DO
BEGIN
SUSPEND;
UPDATE LOG_LOGRADOUR
SET LOG_BAI_NOME = :BAINOME WHERE CODBAIRRO = :BAICOD
END

EM TODOS OS CASOS Ñ DEU CERTO A INSTRUÇÃO Ñ ACEITA SUBQUERYS NO UPDATE E A PROCEDURE Ñ ATUALIZOU OS DADOS...

POR ISSO PERGUNTO:

EXISTE UMA MANEIRA DE FAZER UM UPDATE PEGANDO PARÂMETROS DE OUTRA TABELA????

FICAREI MUITO GRATO POR QUALQUER AJUDA!!![b:c375379960][/b:c375379960]


Anonymous

Anonymous

Responder

Posts

11/03/2003

Anonymous

O problema do sub-query é que ela tem que retornar apenas uma linha para que se possa fazer o update

Olhe o exemplo de atualizacao de estoque

update tb_itens
set
total_estoque =
(Select total_estoque from tb_itens where cod=:cod) + Qtd_Entra
where
cod=:cod

Observe que ele so retornou uma linha, no seu caso o parametro é bairro e fatalmente ele ira retornar vários bairros ou seja varios registros.


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