The problem in the SQL is that there needs to be a WHERE for the UPDATE in order to limit the update to those records that actually exist in the other table.
The S_CONTACT table contains more records than the UP_S_CONTACT table so the update needs to know which ones to update, otherwise the join results in the sub-select returning a NULL value, this can't be assigned to created_by as this field is a NOT NULL.
Regards
OLAPer