Der er to mulige årsager til, at opdateringen forsøger at foo.a til NULL.
- Der findes rækker i foo, for hvilke der ikke er nogen matchende rækker i søjlen.
- Den matchende række i søjlen har bar.x af null.
Følgende vil udelukke opdateringer til foo, hvis en af ovenstående betingelser er sande. I disse tilfælde vil foo.a forblive, som det var:
update foo
set a = (select distinct( x ) from bar where bar.y = foo.b )
where exists
(select *
from bar
where bar.y = foo.b
and bar.x is not null);