Има две възможни причини актуализацията да се опитва да направи foo.a NULL.
- Има редове във foo, за които няма съответстващи редове в bar.
- Съвпадащият ред в лентата има bar.x от нула.
Следното ще изключи актуализациите на foo, ако някое от горните условия е вярно. В тези случаи foo.a ще остане както беше:
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);