Fazer UPDATE em outra tabela

MySQL

19/02/2013

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

Curtidas 0

Respostas

Felippe Tadeu

Felippe Tadeu

19/02/2013

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
GOSTEI 0
Felippe Tadeu

Felippe Tadeu

19/02/2013

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
GOSTEI 0
Felippe Tadeu

Felippe Tadeu

19/02/2013

se eu estiver errado alguém me corrija por favor
GOSTEI 0
Saulo Moraes

Saulo Moraes

19/02/2013

Pessoal,

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

abç
GOSTEI 0
Douglas

Douglas

19/02/2013

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.
GOSTEI 0
POSTAR