If you SET to one where monetary is 1 then this line will just overwrite EVERYTHING to be 0, regardless of whether it is monetary or not? I think you are missing the 'WHERE is_monetary = 0' from the end. Or these statements need to be swapped around.