Solo una pequeña adición para hacer, ya que terminé con un resultado extraño al intentar modificar los UUID a medida que se generaban. Encontré que la respuesta de Rakesh es la más simple que funcionó bien, excepto en los casos en los que desea eliminar los guiones.
Para referencia:
UPDATE some_table SET some_field=(SELECT uuid());
Esto funcionó perfectamente por sí solo. Pero cuando probé esto:
UPDATE some_table SET some_field=(REPLACE((SELECT uuid()), '-', ''));
Entonces, todos los valores resultantes fueron los mismos (no sutilmente diferentes, lo cuadriplicaron con una GROUP BY some_field
consulta). No importa cómo ubique los paréntesis, sucede lo mismo.
UPDATE some_table SET some_field=(REPLACE(SELECT uuid(), '-', ''));
Parece que al rodear la subconsulta para generar un UUID con REPLACE, solo ejecuta la consulta UUID una vez, lo que probablemente tiene mucho sentido como optimización para desarrolladores mucho más inteligentes que yo, pero no para mí.
Para resolver esto, lo dividí en dos consultas:
UPDATE some_table SET some_field=(SELECT uuid());
UPDATE some_table SET some_field=REPLACE(some_field, '-', '');
Solución simple, obviamente, pero espero que esto le ahorre a alguien el tiempo que acabo de perder.