Fazer UPDATE em outra tabela
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á!
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
Curtidas 0
Respostas
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
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
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
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
19/02/2013
se eu estiver errado alguém me corrija por favor
GOSTEI 0
Saulo Moraes
19/02/2013
Pessoal,
Obrigado pelo retorno. Vou testar aqui e depois aviso vcs.
abç
Obrigado pelo retorno. Vou testar aqui e depois aviso vcs.
abç
GOSTEI 0
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.
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.
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