Update com select e set

Firebird

04/09/2015

Bom dia.

Estou com uma dúvida ao fazer um select com update.

Banco: Firebird 2.5.
Executando no ibexpert.

As duas tabelas que vou utilizar são:
FCFO - Tabela de clientes.
FDEPEND - Tabela de dependentes.

Preciso fazer um update pegando o nome da mãe que está na FDEPEND e jogar no FCFO.

Esse é o update que estou tentando fazer é pegar o nome da mãe na fdepend e jogar no campo da fcfo.

Vi alguns exemplo na internet, mas nenhum deles executa.

Vou colocar aqui algumas tentativas:

update fcfo set fcfo.nomemae=fdepend.nome where (fcfo.nomemae is null) and (fcfo.codcfo in (select codcfo from fdepend where grauparent='MAE')) and (fcfo.codcfo=fdepend.codcfo)


Dá o seguinte erro:
Column does not belong to referenced table.
Dynamic SQL Error.
SQL error code = -206.
Column unknown.
FDEPEND.CODCFO.
At line 1, column 170.


update fcfo,fdepend set fcfo.nomemae=fdepend.nome where (fcfo.nomemae is null) and (fcfo.codcfo in (select codcfo from fdepend where grauparent='MAE')) and (fcfo.codcfo=fdepend.codcfo)


Dá o seguinte erro:
Invalid token.
Dynamic SQL Error.
SQL error code = -104.
Token unknown - line 1, column 12.
,.


update fdepend set fcfo.nomemae=fdepend.nome from fdepend
inner join fcfo on (fdepend.codcfo = fcfo.codcfo) where (fcfo.nomemae is null) and (fcfo.codcfo in (select codcfo from fdepend where grauparent='MAE')) and (fcfo.codcfo=fdepend.codcfo)


Invalid token.
Dynamic SQL Error.
SQL error code = -104.
Token unknown - line 1, column 46.
from.

Acredito que o erro seja do sintaxe, mas não estou conseguindo arrumar.
Artur Antunes

Artur Antunes

Curtidas 0
POSTAR