Michel, Sorry I am not providing any help with your question, but I would change the whole approach, after all why do you update fields that can be calculated when required? You can easily create a view with this information without the massive updates with values that are derived from other tables/fields.
"The five senses obstruct or deform the apprehension of reality."
Jorge L. Borges?
"Premature optimization is the root of all evil in programming."
Donald Knuth, repeating C. A. R. Hoare
"To die for a religion is easier than to live it absolutely"
Jorge L. Borges