• Is there any reason why you're using a RIGHT OUTER JOIN?  Updating the outer table of that join means you're going to be attempting to update rows that don't exist.  Either you're going to get an error, or those rows are just going to be ignored.  You should verify that an inner join gives the same results, and use that instead - it will make it much easier for anyone else (or your future else) who tries to understand the query!

    John