>> Actually, from a theoretical viewpoint "a null is value distinct
from any
other value INCLUDING NULL" (see Codd, accent mine). Even DB2 will
return unknown, not true for NULL = NULL
.... <<
note that DB2 (as well as Oracle) will also return unknown for NULL <>
NULL. In this particular contest "distinct from any other value " means
"not(equal to any other value), unknown accepted", and this is exactly
what's implemented by Oracle
Unfortunately, DB2 UDB's unique index fails to implement the
semantic,
leading to the need for workarounds such as yours.
.... <<
DB2 UDB implements a stronger requirement
"distinct from any other value " meaning "not equal to any other value,
unknown NOT accepted".