Unfortunately this is not the case. When calling it multiple times, it returns numbers smaller and greater, and always different values for each call. Very strange (to me)!!!
Which is the symptom one will see if, for every row, the value of random is different.
When I change my function a little bit, writing the random number into an INTEGER variable, and using this variable within my UPDATE statement, everything works fine: