Fazer UPDATE em outra tabela

19/02/2013

0

Olá pessoal.

Sou novo no forum e gostaria de contar com a ajuda de vocês.
Preciso fazer um update em um campo de uma tabela, só que a validação é feita com um campo de outra tabela.
Ilustração:
=======================================================================
TabelaA
Campos: NuTitulo, Cdcredor

TabelaB
Campos: NuTitulo, Nuparcela, cdTipoPagamento, DtVencto
=======================================================================

O que preciso fazer é atualizar o vencimento de todas as parcelas do credor 3206 que tenham o cdTipoPagamento null

O que bolei foi o seguinte. Só que está dando erro no IBExpert:


UPDATE TabelaB B set B.dtvencto = '01.01.2014'

FROM TabelaA A

inner join TabelaB B ON A.nutitulo = B.nutitulo

where A.cdcredor = 3206
AND B.cdtipopagamento IS NULL



Obrigado desde já!
Saulo Moraes

Saulo Moraes

Responder

Posts

21/02/2013

Felippe Tadeu

Boa tarde, eu não entendi muito bem o que você queria mas o que fiz foi:

update tabelab b
set b.dtvencto = '01.01.2014'
where a.nutitulo = b.nutitulo
and
a.cdcredor = 3206
and
b.cdtipopagamento is null
Responder

21/02/2013

Felippe Tadeu

Boa tarde, eu não entendi muito bem o que você queria mas o que fiz foi:

update tabelab b
set b.dtvencto = '01.01.2014'
where a.nutitulo = b.nutitulo
and
a.cdcredor = 3206
and
b.cdtipopagamento is null


Só corrigindo..

update tabelaB b, tabelaA a
set b.dtvencto = '01.01.2014' 
where a.nutitulo = b.nutitulo 
and 
a.cdcredor = 3206 
and 
b.cdtipopagamento is null
Responder

21/02/2013

Felippe Tadeu

se eu estiver errado alguém me corrija por favor
Responder

22/02/2013

Saulo Moraes

Pessoal,

Obrigado pelo retorno. Vou testar aqui e depois aviso vcs.

abç
Responder

27/02/2013

Douglas

Caro amigo,

sempre que fizer estes tipos de teste

utilize um begin tran antes.

é uma forma de garantir, caso algo de errado.

se pode voltar ao normal.

ex:
begin tran
update tabelaB b, tabelaA a
set b.dtvencto = '01.01.2014' 
where a.nutitulo = b.nutitulo 
and 
a.cdcredor = 3206 
and 
b.cdtipopagamento is null


Após executar o código se estiver de acordo de um commit para aplicar as alterações,
se não rollback para retornar o que era antes.
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