Vous n'êtes pas identifié(e).

#1 Re : Général » UPDATE avec des valeurs au hasard » 05/02/2009 10:06:08

mt

Non, cela ne marche pas, le WHERE n'a l'air d'être exécuté qu'une seule fois, car au final tous mes enregs ont le même nom. J'avais essayé.

J'ai contourné le problème en externalisant la partie select dans une procédure et en remplaçant par :
UPDATE personne
SET nom_usuel = remplacer_nom();

Cela fonctionne, la fonction est recalculée pour chaque enreg.
Merci quand même.

#2 Général » UPDATE avec des valeurs au hasard » 04/02/2009 13:30:51

mt
Réponses : 2

Bonjour,

Je souhaite "anonymiser" des noms dans une table personne.

Pour ce faire, j'ai constituer une table référence avec 2 colonnes : index et  nom. Je voudrais remplacer chaque nom de ma table personne par un nom tiré au hasard de ma table référence.

La requete suivante me ramène le même nom pour toutes les occurences de personne.

UPDATE personne
SET nom_usuel = (SELECT an.nom_usuel FROM ano_nom an 
 WHERE an.id_nom = mod(cast((floor(random()*100000000)) as bigint) ,8013));

Comment forcer l'exécution du SELECT pour chaque UPDATE ?

(8013, car j'ai 8013 noms dans ma table référence)

Merci d'avance.

Pied de page des forums

Propulsé par FluxBB