Ancestrologie - Plugins et Outils > BOA
Modification prénom
(1/1)
Gilbert B:
Je cherche à modifier un prénom dans un dosier.
J'utiliser précédemment cette requête:
update INDIVIDU
set PRENOM ='François'
where PRENOM ='Françcois'
and kle_dossier=1
elle ne marche pas.
Sur le forum je trouve celle-là:
update individu i
set i.prenom=(select remplace from f_remplace('elie','Élie',i.prenom,1))
where i.kle_dossier=1
and upper(i.prenom) containing upper('elie')
Elle ne marche pas non plus
Où est l'erreur?
DDdeBerdeux:
Bonsoir,
Pour pouvoir être fait sans erreur, le remplacement d'un prénom par un autre prénom demande l'exécution d'une procédure qui ne peux pas être créée et exécutée directement dans le BOA.
Avec quelques précautions les fonctions containing et replace devraient permettre de faire cette modification, mais il faut savoir que: "containing" ignore la casse lors de la sélection et comme "replace" ignore si le mot à remplacer n'est pas contenu dans un autre mot (comme François dans Françoise).
Il faut donc d'abord vous assurer que 'Françcois' est toujours séparé dans la liste de vos prénoms.
Pour cela, exécutez d'abord la requête suivante:
--- Code: ---select CLE_FICHE,PRENOM
from INDIVIDU
where KLE_DOSSIER=1
and PRENOM containing 'Françcois'
--- Fin du code ---
Si dans les résultats il y a quelques cas où ce Françcois n'est pas isolé, il est préférable de les corriger en ouvrant la fiche par son NIP.
Vous pourrez ensuite modifier le reste en "exécutant une procédure"
--- Code: ---update INDIVIDU
set PRENOM=replace(PRENOM,'Françcois','François')
where KLE_DOSSIER=1
and PRENOM containing 'Françcois'
--- Fin du code ---
André
Gilbert B:
Merci beaucoup.
Cela a parfaitement fonctionné.
Navigation
Utiliser la version classique