I am working with an Oracle 10g Database.
I have the following two tables:
T_DEBTOR :
- ID_DEBTOR
- HEADER
T_ELEMENT :
-
Have you tried
update
T_ELEMENT elt
set elt.INSURER = NVL((
select HEADER
from T_DEBTOR debtor
where
debtor.HEADER is not null
and debtor.ID_DEBTOR = elt.ID_DEBTOR), elt.INSURER);
or something similar admittedy this is a bit unselective but I think it will do what you intend.
I've found a solution to solve my problem (the where clause is added):
update
T_ELEMENT elt
set elt.INSURER = (
select HEADER
from T_DEBTOR debtor
where
debtor.HEADER is not null
and debtor.ID_DEBTOR = elt.ID_DEBTOR)
where exists (
select null
from T_DEBTOR debtor
where debtor.HEADER is not null
and debtor.ID_DEBTOR = elt.ID_DEBTOR);
If you have a better solution, do not hesitate to post it!