Question : Random values

Question : Aurais-tu une technique pour qu’au sein d’un SELECT, la fonction Rand() change de valeur sur chaque ligne ? Car malheureusement, elle garde la même valeur sur chaque ligne...

Réponse : effectivement, pour un UPDATE SET col = RAND(), la fonction n'est effectuée qu'une seule fois et la valeur sera la même pour toutes les lignes. Mais il existe une solution, avec la création d'une vue et d'une fonction, qui forcera la fonction à s'exécuter pour chaque ligne.
 

-- Création d'une vue
CREATE VIEW [dbo].[V_RAND] AS
SELECT RAND() AS RAND  
GO
-- Création d'une fonction
CREATE FUNCTION [dbo].[F_GET_RAND] ()
    RETURNS FLOAT
    AS
    BEGIN
      RETURN (SELECT RAND FROM V_RAND)
    END;
GO

UPDATE MATABLE SET MACOLONNEFLOAT = dbo.F_GET_RAND()